package models_test import ( "context" "git.aiterp.net/lucifer/lucifer/models" "github.com/stretchr/testify/assert" "testing" ) func TestUser_SetPassword_TooShort(t *testing.T) { user := &models.User{} err := user.SetPassword("short") assert.NotNil(t, err) } func TestUser_SetPassword_Valid(t *testing.T) { user := &models.User{} err := user.SetPassword("longer") assert.Nil(t, err) assert.NotEqual(t, "", user.PassHash) } func TestUser_CheckPassword_Wrong(t *testing.T) { user := &models.User{} _ = user.SetPassword("longer") err := user.CheckPassword("wrong attempt") assert.NotNil(t, err) } func TestUser_CheckPassword_Correct(t *testing.T) { user := &models.User{} _ = user.SetPassword("correct") err := user.CheckPassword("correct") assert.Nil(t, err) } func TestUserFromContext(t *testing.T) { nilUser := models.UserFromContext(context.Background()) assert.Nil(t, nilUser) user := &models.User{ID: 1001, Name: "Freddie"} ctx := user.InContext(context.Background()) assert.Equal(t, user, models.UserFromContext(ctx)) }