2017-08-17 12:08:03 +03:00
// Copyright 2017 The Gitea Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
2022-09-02 22:18:23 +03:00
package integration
2017-08-17 12:08:03 +03:00
import (
"net/http"
"testing"
"code.gitea.io/gitea/modules/setting"
2022-09-02 22:18:23 +03:00
"code.gitea.io/gitea/tests"
2017-08-17 12:08:03 +03:00
"github.com/stretchr/testify/assert"
)
func TestSettingShowUserEmailExplore ( t * testing . T ) {
2022-09-02 22:18:23 +03:00
defer tests . PrepareTestEnv ( t ) ( )
2017-08-17 12:08:03 +03:00
showUserEmail := setting . UI . ShowUserEmail
setting . UI . ShowUserEmail = true
session := loginUser ( t , "user2" )
req := NewRequest ( t , "GET" , "/explore/users" )
resp := session . MakeRequest ( t , req , http . StatusOK )
htmlDoc := NewHTMLParser ( t , resp . Body )
assert . Contains ( t ,
htmlDoc . doc . Find ( ".ui.user.list" ) . Text ( ) ,
2019-02-19 17:11:50 +03:00
"user4@example.com" ,
2017-08-17 12:08:03 +03:00
)
setting . UI . ShowUserEmail = false
req = NewRequest ( t , "GET" , "/explore/users" )
resp = session . MakeRequest ( t , req , http . StatusOK )
htmlDoc = NewHTMLParser ( t , resp . Body )
assert . NotContains ( t ,
htmlDoc . doc . Find ( ".ui.user.list" ) . Text ( ) ,
2019-02-19 17:11:50 +03:00
"user4@example.com" ,
2017-08-17 12:08:03 +03:00
)
setting . UI . ShowUserEmail = showUserEmail
}
func TestSettingShowUserEmailProfile ( t * testing . T ) {
2022-09-02 22:18:23 +03:00
defer tests . PrepareTestEnv ( t ) ( )
2017-08-17 12:08:03 +03:00
showUserEmail := setting . UI . ShowUserEmail
setting . UI . ShowUserEmail = true
session := loginUser ( t , "user2" )
req := NewRequest ( t , "GET" , "/user2" )
resp := session . MakeRequest ( t , req , http . StatusOK )
htmlDoc := NewHTMLParser ( t , resp . Body )
assert . Contains ( t ,
htmlDoc . doc . Find ( ".user.profile" ) . Text ( ) ,
"user2@example.com" ,
)
setting . UI . ShowUserEmail = false
req = NewRequest ( t , "GET" , "/user2" )
resp = session . MakeRequest ( t , req , http . StatusOK )
htmlDoc = NewHTMLParser ( t , resp . Body )
2019-02-19 17:11:50 +03:00
// Should contain since this user owns the profile page
assert . Contains ( t ,
2017-08-17 12:08:03 +03:00
htmlDoc . doc . Find ( ".user.profile" ) . Text ( ) ,
"user2@example.com" ,
)
setting . UI . ShowUserEmail = showUserEmail
2019-02-19 17:11:50 +03:00
session = loginUser ( t , "user4" )
req = NewRequest ( t , "GET" , "/user2" )
resp = session . MakeRequest ( t , req , http . StatusOK )
htmlDoc = NewHTMLParser ( t , resp . Body )
assert . NotContains ( t ,
htmlDoc . doc . Find ( ".user.profile" ) . Text ( ) ,
"user2@example.com" ,
)
2017-08-17 12:08:03 +03:00
}
2018-06-15 06:42:46 +03:00
func TestSettingLandingPage ( t * testing . T ) {
2022-09-02 22:18:23 +03:00
defer tests . PrepareTestEnv ( t ) ( )
2018-06-15 06:42:46 +03:00
landingPage := setting . LandingPageURL
setting . LandingPageURL = setting . LandingPageHome
req := NewRequest ( t , "GET" , "/" )
MakeRequest ( t , req , http . StatusOK )
setting . LandingPageURL = setting . LandingPageExplore
req = NewRequest ( t , "GET" , "/" )
2022-03-23 07:54:07 +03:00
resp := MakeRequest ( t , req , http . StatusSeeOther )
2018-06-15 06:42:46 +03:00
assert . Equal ( t , "/explore" , resp . Header ( ) . Get ( "Location" ) )
setting . LandingPageURL = setting . LandingPageOrganizations
req = NewRequest ( t , "GET" , "/" )
2022-03-23 07:54:07 +03:00
resp = MakeRequest ( t , req , http . StatusSeeOther )
2018-06-15 06:42:46 +03:00
assert . Equal ( t , "/explore/organizations" , resp . Header ( ) . Get ( "Location" ) )
2020-01-06 19:50:44 +03:00
setting . LandingPageURL = setting . LandingPageLogin
req = NewRequest ( t , "GET" , "/" )
2022-03-23 07:54:07 +03:00
resp = MakeRequest ( t , req , http . StatusSeeOther )
2020-01-06 19:50:44 +03:00
assert . Equal ( t , "/user/login" , resp . Header ( ) . Get ( "Location" ) )
2018-06-15 06:42:46 +03:00
setting . LandingPageURL = landingPage
}