Fix creating new local users
This commit is contained in:
parent
c30c69e570
commit
1fb7625ca2
|
@ -265,6 +265,10 @@ func CreateUser(user *User) (newUser *User, err error) {
|
|||
Subject: newUser.Subject,
|
||||
}
|
||||
|
||||
if newUser.Issuer != "local" {
|
||||
userToCheck.Email = ""
|
||||
}
|
||||
|
||||
_, err = GetUser(userToCheck)
|
||||
if err != nil {
|
||||
if IsErrUserDoesNotExist(err) {
|
||||
|
@ -273,7 +277,7 @@ func CreateUser(user *User) (newUser *User, err error) {
|
|||
return &User{}, err
|
||||
}
|
||||
}
|
||||
if exists {
|
||||
if exists && newUser.Issuer == "local" {
|
||||
return &User{}, ErrUserEmailExists{newUser.ID, newUser.Email}
|
||||
}
|
||||
|
||||
|
|
|
@ -108,22 +108,6 @@ func TestCreateUser(t *testing.T) {
|
|||
})
|
||||
assert.NoError(t, err)
|
||||
})
|
||||
t.Run("existing user but changed email", func(t *testing.T) {
|
||||
// User changed their email in third party service, should update here
|
||||
db.LoadAndAssertFixtures(t)
|
||||
n, err := CreateUser(&User{
|
||||
Username: "somenewuser",
|
||||
Email: "somenewuser@example.com",
|
||||
Issuer: "https://some.service.com",
|
||||
Subject: "12345",
|
||||
})
|
||||
assert.NoError(t, err)
|
||||
|
||||
nu := &User{ID: n.ID}
|
||||
_, err = x.Get(nu)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, "somenewuser@example.com", nu.Email)
|
||||
})
|
||||
}
|
||||
|
||||
func TestGetUser(t *testing.T) {
|
||||
|
|
Loading…
Reference in New Issue