Add option to change username to the admin panel (#14229)
Co-authored-by: Bwko <bouwko@gmail.com> Co-authored-by: techknowlogick <matti@mdranta.net> Co-authored-by: zeripath <art27@cantab.net>tokarchuk/v1.17
parent
d989247bb0
commit
6b3b6f1833
@ -0,0 +1,82 @@ |
|||||||
|
// Copyright 2021 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.
|
||||||
|
|
||||||
|
package integrations |
||||||
|
|
||||||
|
import ( |
||||||
|
"net/http" |
||||||
|
"strconv" |
||||||
|
"testing" |
||||||
|
|
||||||
|
"code.gitea.io/gitea/models" |
||||||
|
|
||||||
|
"github.com/stretchr/testify/assert" |
||||||
|
) |
||||||
|
|
||||||
|
func TestAdminViewUsers(t *testing.T) { |
||||||
|
prepareTestEnv(t) |
||||||
|
|
||||||
|
session := loginUser(t, "user1") |
||||||
|
req := NewRequest(t, "GET", "/admin/users") |
||||||
|
session.MakeRequest(t, req, http.StatusOK) |
||||||
|
|
||||||
|
session = loginUser(t, "user2") |
||||||
|
req = NewRequest(t, "GET", "/admin/users") |
||||||
|
session.MakeRequest(t, req, http.StatusForbidden) |
||||||
|
} |
||||||
|
|
||||||
|
func TestAdminViewUser(t *testing.T) { |
||||||
|
prepareTestEnv(t) |
||||||
|
|
||||||
|
session := loginUser(t, "user1") |
||||||
|
req := NewRequest(t, "GET", "/admin/users/1") |
||||||
|
session.MakeRequest(t, req, http.StatusOK) |
||||||
|
|
||||||
|
session = loginUser(t, "user2") |
||||||
|
req = NewRequest(t, "GET", "/admin/users/1") |
||||||
|
session.MakeRequest(t, req, http.StatusForbidden) |
||||||
|
} |
||||||
|
|
||||||
|
func TestAdminEditUser(t *testing.T) { |
||||||
|
prepareTestEnv(t) |
||||||
|
|
||||||
|
testSuccessfullEdit(t, models.User{ID: 2, Name: "newusername", LoginName: "otherlogin", Email: "new@e-mail.gitea"}) |
||||||
|
} |
||||||
|
|
||||||
|
func testSuccessfullEdit(t *testing.T, formData models.User) { |
||||||
|
makeRequest(t, formData, http.StatusFound) |
||||||
|
} |
||||||
|
|
||||||
|
func makeRequest(t *testing.T, formData models.User, headerCode int) { |
||||||
|
session := loginUser(t, "user1") |
||||||
|
csrf := GetCSRF(t, session, "/admin/users/"+strconv.Itoa(int(formData.ID))) |
||||||
|
req := NewRequestWithValues(t, "POST", "/admin/users/"+strconv.Itoa(int(formData.ID)), map[string]string{ |
||||||
|
"_csrf": csrf, |
||||||
|
"user_name": formData.Name, |
||||||
|
"login_name": formData.LoginName, |
||||||
|
"login_type": "0-0", |
||||||
|
"email": formData.Email, |
||||||
|
}) |
||||||
|
|
||||||
|
session.MakeRequest(t, req, headerCode) |
||||||
|
user := models.AssertExistsAndLoadBean(t, &models.User{ID: formData.ID}).(*models.User) |
||||||
|
assert.Equal(t, formData.Name, user.Name) |
||||||
|
assert.Equal(t, formData.LoginName, user.LoginName) |
||||||
|
assert.Equal(t, formData.Email, user.Email) |
||||||
|
} |
||||||
|
|
||||||
|
func TestAdminDeleteUser(t *testing.T) { |
||||||
|
defer prepareTestEnv(t)() |
||||||
|
|
||||||
|
session := loginUser(t, "user1") |
||||||
|
|
||||||
|
csrf := GetCSRF(t, session, "/admin/users/8") |
||||||
|
req := NewRequestWithValues(t, "POST", "/admin/users/8/delete", map[string]string{ |
||||||
|
"_csrf": csrf, |
||||||
|
}) |
||||||
|
session.MakeRequest(t, req, http.StatusOK) |
||||||
|
|
||||||
|
assertUserDeleted(t, 8) |
||||||
|
models.CheckConsistencyFor(t, &models.User{}) |
||||||
|
} |
Loading…
Reference in new issue