1
0
Fork 0
forked from forgejo/forgejo

API: Admin EditUser: Make FullName, Email, Website & Location optional (#13562)

* API: Admin EditUser: Make FullName, Email, Website & Location optional

* update swagger docs

* add Tests

Co-authored-by: Lauris BH <lauris@nix.lv>
This commit is contained in:
6543 2020-11-20 02:56:42 +01:00 committed by GitHub
parent 24b3b2140a
commit 1bb5c09b5d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 66 additions and 21 deletions

View file

@ -5,6 +5,7 @@
package integrations
import (
"encoding/json"
"fmt"
"net/http"
"testing"
@ -163,3 +164,32 @@ func TestAPICreateUserInvalidEmail(t *testing.T) {
})
session.MakeRequest(t, req, http.StatusUnprocessableEntity)
}
func TestAPIEditUser(t *testing.T) {
defer prepareTestEnv(t)()
adminUsername := "user1"
session := loginUser(t, adminUsername)
token := getTokenForLoggedInUser(t, session)
urlStr := fmt.Sprintf("/api/v1/admin/users/%s?token=%s", "user2", token)
req := NewRequestWithValues(t, "PATCH", urlStr, map[string]string{
// required
"login_name": "user2",
"source_id": "0",
// to change
"full_name": "Full Name User 2",
})
session.MakeRequest(t, req, http.StatusOK)
empty := ""
req = NewRequestWithJSON(t, "PATCH", urlStr, api.EditUserOption{
LoginName: "user2",
SourceID: 0,
Email: &empty,
})
resp := session.MakeRequest(t, req, http.StatusUnprocessableEntity)
errMap := make(map[string]interface{})
json.Unmarshal(resp.Body.Bytes(), &errMap)
assert.EqualValues(t, "email is not allowed to be empty string", errMap["message"].(string))
}