Added unit tests for user
This commit is contained in:
parent
3c5af74141
commit
1b6a304ae8
48
models/user_test.go
Normal file
48
models/user_test.go
Normal file
|
@ -0,0 +1,48 @@
|
|||
package models
|
||||
|
||||
import (
|
||||
"github.com/stretchr/testify/assert"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestCreateUser(t *testing.T) {
|
||||
// Create test database
|
||||
assert.NoError(t, PrepareTestDatabase())
|
||||
|
||||
// Our dummy user for testing
|
||||
dummyuser := User{
|
||||
Name: "testu",
|
||||
Username: "testuu",
|
||||
Password: "1234",
|
||||
Email: "noone@example.com",
|
||||
}
|
||||
|
||||
// Create a new user
|
||||
createdUser, err := CreateUser(dummyuser)
|
||||
assert.NoError(t, err)
|
||||
|
||||
// Check if it fails to create the same user again
|
||||
createdUser, err = CreateUser(dummyuser)
|
||||
assert.Error(t, err)
|
||||
|
||||
// Check if it fails to create a user with just the same username
|
||||
createdUser, err = CreateUser(User{Username: "testuu"})
|
||||
assert.Error(t, err)
|
||||
|
||||
// Check if it fails to create a user without password and username
|
||||
createdUser, err = CreateUser(User{})
|
||||
assert.Error(t, err)
|
||||
|
||||
createdUser, err = CreateUser(User{Name: "blub"})
|
||||
assert.Error(t, err)
|
||||
|
||||
// Check if he exists
|
||||
_, exists, err := GetUser(createdUser)
|
||||
assert.NoError(t, err)
|
||||
assert.True(t, exists)
|
||||
|
||||
// Check the user credentials
|
||||
user, err := CheckUserCredentials(&UserLogin{"testuu", "1234"})
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, dummyuser.Name, user.Name)
|
||||
}
|
Loading…
Reference in New Issue
Block a user