mirror of
https://github.com/acaloiaro/newsbox
synced 2026-07-21 10:12:26 +00:00
80 lines
1.5 KiB
Go
80 lines
1.5 KiB
Go
package models
|
|
|
|
func (ms *ModelSuite) Test_User_Create() {
|
|
count, err := ms.DB.Count("users")
|
|
ms.NoError(err)
|
|
ms.Equal(0, count)
|
|
|
|
u := &User{
|
|
Email: "mark@example.com",
|
|
Password: "password",
|
|
PasswordConfirmation: "password",
|
|
}
|
|
|
|
ms.Zero(u.PasswordHash)
|
|
|
|
verrs, err := u.Create(ms.DB)
|
|
ms.NoError(err)
|
|
ms.False(verrs.HasAny())
|
|
ms.NotZero(u.PasswordHash)
|
|
|
|
count, err = ms.DB.Count("users")
|
|
ms.NoError(err)
|
|
ms.Equal(1, count)
|
|
}
|
|
|
|
func (ms *ModelSuite) Test_User_Create_ValidationErrors() {
|
|
count, err := ms.DB.Count("users")
|
|
ms.NoError(err)
|
|
ms.Equal(0, count)
|
|
|
|
u := &User{
|
|
Password: "password",
|
|
}
|
|
|
|
ms.Zero(u.PasswordHash)
|
|
|
|
verrs, err := u.Create(ms.DB)
|
|
ms.NoError(err)
|
|
ms.True(verrs.HasAny())
|
|
|
|
count, err = ms.DB.Count("users")
|
|
ms.NoError(err)
|
|
ms.Equal(0, count)
|
|
}
|
|
|
|
func (ms *ModelSuite) Test_User_Create_UserExists() {
|
|
count, err := ms.DB.Count("users")
|
|
ms.NoError(err)
|
|
ms.Equal(0, count)
|
|
|
|
u := &User{
|
|
Email: "mark@example.com",
|
|
Password: "password",
|
|
PasswordConfirmation: "password",
|
|
}
|
|
|
|
ms.Zero(u.PasswordHash)
|
|
|
|
verrs, err := u.Create(ms.DB)
|
|
ms.NoError(err)
|
|
ms.False(verrs.HasAny())
|
|
ms.NotZero(u.PasswordHash)
|
|
|
|
count, err = ms.DB.Count("users")
|
|
ms.NoError(err)
|
|
ms.Equal(1, count)
|
|
|
|
u = &User{
|
|
Email: "mark@example.com",
|
|
Password: "password",
|
|
}
|
|
|
|
verrs, err = u.Create(ms.DB)
|
|
ms.NoError(err)
|
|
ms.True(verrs.HasAny())
|
|
|
|
count, err = ms.DB.Count("users")
|
|
ms.NoError(err)
|
|
ms.Equal(1, count)
|
|
}
|