refactor(backend): replace resetTestData with SetupTestDB and add new tests

Migrate all test files from resetTestData(t) to testutils.SetupTestDB(t) for isolated per-package test databases.

- Add new feature tests: name history assertions, referral discount preview,
  time blockers, email validation, GDPR export, loyalty manual redemption
- Update existing tests to use batch queries and SetupTestDB
- Remove test_helpers.go resetTestData infrastructure
- Add comprehensive user profile tests (442 new lines)

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
2026-06-20 16:57:36 +01:00
co-authored by Sisyphus
parent 9c68918c20
commit b03c4f6247
36 changed files with 1735 additions and 859 deletions
+5 -4
View File
@@ -12,6 +12,7 @@ import (
"testing"
"crussell/db"
"crussell/testutils"
"crussell/mw"
"crussell/testutils/fixtures"
@@ -50,7 +51,7 @@ func makePatchTestsRequest(handler http.HandlerFunc, method, path string, body i
// =============================================================================
func TestGetUserPatchTests_Empty(t *testing.T) {
resetTestData(t)
testutils.SetupTestDB(t)
userID, err := fixtures.CreateTestUser(db.DB)
if err != nil {
t.Fatalf("failed to create user: %v", err)
@@ -71,7 +72,7 @@ func TestGetUserPatchTests_Empty(t *testing.T) {
}
func TestGetUserPatchTests_WithRecords(t *testing.T) {
resetTestData(t)
testutils.SetupTestDB(t)
userID, err := fixtures.CreateTestUser(db.DB)
if err != nil {
t.Fatalf("failed to create user: %v", err)
@@ -125,7 +126,7 @@ func TestGetUserPatchTests_InvalidUserID(t *testing.T) {
// =============================================================================
func TestDeletePatchTest_HappyPath(t *testing.T) {
resetTestData(t)
testutils.SetupTestDB(t)
userID, err := fixtures.CreateTestUser(db.DB)
if err != nil {
t.Fatalf("failed to create user: %v", err)
@@ -169,7 +170,7 @@ func TestDeletePatchTest_HappyPath(t *testing.T) {
}
func TestDeletePatchTest_NotFound(t *testing.T) {
resetTestData(t)
testutils.SetupTestDB(t)
userID, err := fixtures.CreateTestUser(db.DB)
if err != nil {
t.Fatalf("failed to create user: %v", err)