fix(tests): protect dev admin from test cleanup, use isolated test names
Tests were deleting the development admin user, causing ON DELETE SET NULL to cascade and set created_by_admin_id to NULL on all libraries. - test_helpers: skip deletion of testuser@tests.bookhoard.internal - sync_integration_test: use test-sync% prefix for isolated test data
This commit is contained in:
@@ -558,11 +558,15 @@ func setupTestServer(t *testing.T) *TestServerSetup {
|
||||
|
||||
ctx := context.Background()
|
||||
|
||||
// Delete ALL test users (any user with test email domains) to ensure clean state
|
||||
// This handles users created during tests that may have been promoted to admin, etc.
|
||||
// Delete transient test users but preserve the dev admin user
|
||||
// testuser@tests.bookhoard.internal is the shared dev admin — deleting it
|
||||
// triggers ON DELETE SET NULL on libraries.created_by_admin_id
|
||||
allUsers, err := queries.ListUsers(ctx)
|
||||
if err == nil {
|
||||
for _, user := range allUsers {
|
||||
if user.Email == "testuser@tests.bookhoard.internal" {
|
||||
continue
|
||||
}
|
||||
if strings.HasSuffix(user.Email, "@example.com") || strings.HasSuffix(user.Email, "@tests.bookhoard.internal") {
|
||||
queries.DeleteUser(ctx, user.ID)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user