1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| package service
import ( "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" )
func TestUserService_CreateUser(t *testing.T) { user := &User{ Username: "testuser", Email: "test@example.com", Password: "password123", } mockDB := new(MockDB) mockDB.On("Create", mock.AnythingOfType("*User")).Return(nil) service := NewUserService(mockDB, nil) err := service.CreateUser(user) assert.NoError(t, err) mockDB.AssertExpectations(t) }
func TestUserService_CreateUser_UserExists(t *testing.T) { user := &User{ Username: "existinguser", Email: "existing@example.com", Password: "password123", } mockDB := new(MockDB) mockDB.On("First", mock.AnythingOfType("*User"), mock.Anything).Return(nil) service := NewUserService(mockDB, nil) err := service.CreateUser(user) assert.Error(t, err) assert.Equal(t, ErrUserExists, err) }
|