Coverage priorities 1-5: test pure functions, extract interfaces, mock-based handler tests
- Priority 1: Test NewSendEmailTask + NewSendPushTask (5 tests) - Priority 2: Test customHTTPErrorHandler — all 15+ branches (21 tests) - Priority 3: Extract Enqueuer interface + payload builders in worker pkg (5 tests) - Priority 4: Extract ClassifyFile/ComputeRelPath in migrate-encrypt (6 tests) - Priority 5: Define Handler interfaces, refactor to accept them, mock-based tests (14 tests) - Fix .gitignore: /worker instead of worker to stop ignoring internal/worker/ Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -19,7 +19,7 @@ func TestUserRepository_Create(t *testing.T) {
|
||||
Email: "test@example.com",
|
||||
IsActive: true,
|
||||
}
|
||||
user.SetPassword("password123")
|
||||
user.SetPassword("Password123")
|
||||
|
||||
err := repo.Create(user)
|
||||
require.NoError(t, err)
|
||||
@@ -31,7 +31,7 @@ func TestUserRepository_FindByID(t *testing.T) {
|
||||
repo := NewUserRepository(db)
|
||||
|
||||
// Create user
|
||||
user := testutil.CreateTestUser(t, db, "testuser", "test@example.com", "password123")
|
||||
user := testutil.CreateTestUser(t, db, "testuser", "test@example.com", "Password123")
|
||||
|
||||
// Find by ID
|
||||
found, err := repo.FindByID(user.ID)
|
||||
@@ -54,7 +54,7 @@ func TestUserRepository_FindByUsername(t *testing.T) {
|
||||
repo := NewUserRepository(db)
|
||||
|
||||
// Create user
|
||||
user := testutil.CreateTestUser(t, db, "testuser", "test@example.com", "password123")
|
||||
user := testutil.CreateTestUser(t, db, "testuser", "test@example.com", "Password123")
|
||||
|
||||
// Find by username
|
||||
found, err := repo.FindByUsername("testuser")
|
||||
@@ -67,7 +67,7 @@ func TestUserRepository_FindByEmail(t *testing.T) {
|
||||
repo := NewUserRepository(db)
|
||||
|
||||
// Create user
|
||||
user := testutil.CreateTestUser(t, db, "testuser", "test@example.com", "password123")
|
||||
user := testutil.CreateTestUser(t, db, "testuser", "test@example.com", "Password123")
|
||||
|
||||
// Find by email
|
||||
found, err := repo.FindByEmail("test@example.com")
|
||||
@@ -80,7 +80,7 @@ func TestUserRepository_FindByUsernameOrEmail(t *testing.T) {
|
||||
repo := NewUserRepository(db)
|
||||
|
||||
// Create user
|
||||
user := testutil.CreateTestUser(t, db, "testuser", "test@example.com", "password123")
|
||||
user := testutil.CreateTestUser(t, db, "testuser", "test@example.com", "Password123")
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
@@ -105,7 +105,7 @@ func TestUserRepository_Update(t *testing.T) {
|
||||
repo := NewUserRepository(db)
|
||||
|
||||
// Create user
|
||||
user := testutil.CreateTestUser(t, db, "testuser", "test@example.com", "password123")
|
||||
user := testutil.CreateTestUser(t, db, "testuser", "test@example.com", "Password123")
|
||||
|
||||
// Update user
|
||||
user.FirstName = "John"
|
||||
@@ -125,7 +125,7 @@ func TestUserRepository_ExistsByUsername(t *testing.T) {
|
||||
repo := NewUserRepository(db)
|
||||
|
||||
// Create user
|
||||
testutil.CreateTestUser(t, db, "existinguser", "existing@example.com", "password123")
|
||||
testutil.CreateTestUser(t, db, "existinguser", "existing@example.com", "Password123")
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
@@ -150,7 +150,7 @@ func TestUserRepository_ExistsByEmail(t *testing.T) {
|
||||
repo := NewUserRepository(db)
|
||||
|
||||
// Create user
|
||||
testutil.CreateTestUser(t, db, "existinguser", "existing@example.com", "password123")
|
||||
testutil.CreateTestUser(t, db, "existinguser", "existing@example.com", "Password123")
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
@@ -175,7 +175,7 @@ func TestUserRepository_GetOrCreateProfile(t *testing.T) {
|
||||
repo := NewUserRepository(db)
|
||||
|
||||
// Create user
|
||||
user := testutil.CreateTestUser(t, db, "testuser", "test@example.com", "password123")
|
||||
user := testutil.CreateTestUser(t, db, "testuser", "test@example.com", "Password123")
|
||||
|
||||
// First call should create
|
||||
profile1, err := repo.GetOrCreateProfile(user.ID)
|
||||
@@ -193,14 +193,14 @@ func TestUserRepository_FindAuthProvider(t *testing.T) {
|
||||
repo := NewUserRepository(db)
|
||||
|
||||
t.Run("email user", func(t *testing.T) {
|
||||
user := testutil.CreateTestUser(t, db, "emailuser", "email@test.com", "password123")
|
||||
user := testutil.CreateTestUser(t, db, "emailuser", "email@test.com", "Password123")
|
||||
provider, err := repo.FindAuthProvider(user.ID)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, "email", provider)
|
||||
})
|
||||
|
||||
t.Run("apple user", func(t *testing.T) {
|
||||
user := testutil.CreateTestUser(t, db, "appleuser", "apple@test.com", "password123")
|
||||
user := testutil.CreateTestUser(t, db, "appleuser", "apple@test.com", "Password123")
|
||||
appleAuth := &models.AppleSocialAuth{
|
||||
UserID: user.ID,
|
||||
AppleID: "apple_sub_test",
|
||||
@@ -214,7 +214,7 @@ func TestUserRepository_FindAuthProvider(t *testing.T) {
|
||||
})
|
||||
|
||||
t.Run("google user", func(t *testing.T) {
|
||||
user := testutil.CreateTestUser(t, db, "googleuser", "google@test.com", "password123")
|
||||
user := testutil.CreateTestUser(t, db, "googleuser", "google@test.com", "Password123")
|
||||
googleAuth := &models.GoogleSocialAuth{
|
||||
UserID: user.ID,
|
||||
GoogleID: "google_sub_test",
|
||||
@@ -233,7 +233,7 @@ func TestUserRepository_DeleteUserCascade(t *testing.T) {
|
||||
db := testutil.SetupTestDB(t)
|
||||
repo := NewUserRepository(db)
|
||||
|
||||
user := testutil.CreateTestUser(t, db, "deletebare", "deletebare@test.com", "password123")
|
||||
user := testutil.CreateTestUser(t, db, "deletebare", "deletebare@test.com", "Password123")
|
||||
|
||||
// Create profile and token
|
||||
profile := &models.UserProfile{UserID: user.ID, Verified: true}
|
||||
@@ -271,7 +271,7 @@ func TestUserRepository_DeleteUserCascade(t *testing.T) {
|
||||
db := testutil.SetupTestDB(t)
|
||||
repo := NewUserRepository(db)
|
||||
|
||||
user := testutil.CreateTestUser(t, db, "deletefiles", "deletefiles@test.com", "password123")
|
||||
user := testutil.CreateTestUser(t, db, "deletefiles", "deletefiles@test.com", "Password123")
|
||||
residence := testutil.CreateTestResidence(t, db, user.ID, "Test Home")
|
||||
|
||||
// Create document with file
|
||||
@@ -319,8 +319,8 @@ func TestUserRepository_DeleteUserCascade(t *testing.T) {
|
||||
db := testutil.SetupTestDB(t)
|
||||
repo := NewUserRepository(db)
|
||||
|
||||
owner := testutil.CreateTestUser(t, db, "deleteowner", "deleteowner@test.com", "password123")
|
||||
otherUser := testutil.CreateTestUser(t, db, "otheruser", "other@test.com", "password123")
|
||||
owner := testutil.CreateTestUser(t, db, "deleteowner", "deleteowner@test.com", "Password123")
|
||||
otherUser := testutil.CreateTestUser(t, db, "otheruser", "other@test.com", "Password123")
|
||||
otherResidence := testutil.CreateTestResidence(t, db, otherUser.ID, "Other Home")
|
||||
|
||||
// Owner's residence
|
||||
|
||||
Reference in New Issue
Block a user