test: fix flaky time_blockers test and improve testdb migration
Un-harden TestTimeBlockers_List dates (now relative to current time) and update TestCleanupOldReservations to use fixture users instead of hardcoded IDs. Improve Migrate() to drop types before tables (CASCADE dependency fix) and add forgiven_no_shows to truncate list. Seed default working hours in admin booking tests to prevent business-logic check failures. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
@@ -39,6 +39,39 @@ import (
|
||||
)
|
||||
|
||||
// =============================================================================
|
||||
func seedDefaultWorkingHours(t *testing.T) {
|
||||
t.Helper()
|
||||
|
||||
// Seed 7 days of working hours (Monday=0 to Sunday=6)
|
||||
// Use wide hours to avoid test failures due to business logic time checks
|
||||
hours := []struct {
|
||||
weekday int
|
||||
startTime string
|
||||
endTime string
|
||||
isOpen bool
|
||||
}{
|
||||
{0, "08:00", "20:00", true}, // Monday
|
||||
{1, "08:00", "20:00", true}, // Tuesday
|
||||
{2, "08:00", "20:00", true}, // Wednesday
|
||||
{3, "08:00", "20:00", true}, // Thursday
|
||||
{4, "08:00", "20:00", true}, // Friday
|
||||
{5, "08:00", "20:00", true}, // Saturday
|
||||
{6, "08:00", "20:00", true}, // Sunday
|
||||
}
|
||||
|
||||
for _, h := range hours {
|
||||
_, err := db.DB.Exec(context.Background(), `
|
||||
INSERT INTO working_hours (weekday, start_time, end_time, is_open)
|
||||
VALUES ($1, $2, $3, $4)
|
||||
ON CONFLICT (weekday) DO UPDATE SET start_time = $2, end_time = $3, is_open = $4
|
||||
`, h.weekday, h.startTime, h.endTime, h.isOpen)
|
||||
if err != nil {
|
||||
t.Fatalf("failed to seed working hours: %v", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// List Admin Bookings Tests
|
||||
// =============================================================================
|
||||
|
||||
|
||||
Reference in New Issue
Block a user