feat: add TruncateAllTables function for e2e test isolation

This commit is contained in:
kolaente 2026-04-03 20:50:24 +02:00 committed by kolaente
parent 0834d19f9c
commit 6a3dd8b281
1 changed files with 21 additions and 0 deletions

View File

@ -134,3 +134,24 @@ func RestoreAndTruncate(table string, contents []map[string]interface{}) (err er
return Restore(table, contents)
}
// TruncateAllTables deletes all data from every registered Vikunja table.
// Used by e2e tests to ensure a clean database state before each test.
func TruncateAllTables() error {
for _, name := range RegisteredTableNames() {
if err := validateTableName(name); err != nil {
return err
}
if x.Dialect().URI().DBType == schemas.SQLITE {
if _, err := x.Query(`DELETE FROM "` + name + `"`); err != nil {
return err
}
} else {
if _, err := x.Query("TRUNCATE TABLE ?", name); err != nil {
return err
}
}
}
return nil
}