package server import ( "path/filepath" "testing" "task/internal/sqlite" ) func TestSeedDemo(t *testing.T) { db, err := sqlite.Open(filepath.Join(t.TempDir(), "seed.db"), []byte("s")) if err != nil { t.Fatal(err) } defer db.Close() if _, err := db.CreateUser("admin", "admin", true); err != nil { t.Fatal(err) } srv := New(db) if err := srv.SeedDemo(); err != nil { t.Fatal(err) } projects, err := srv.Projects.List() if err != nil || len(projects) < 3 { t.Fatalf("projects=%v err=%v", projects, err) } var testID string for _, p := range projects { if p.Name == "Test" { testID = p.ID break } } if testID == "" { t.Fatal("missing Test project") } sync, err := srv.Projects.GetSyncBackend(testID) if err != nil || sync.Kind != "none" { t.Fatalf("sync=%+v err=%v", sync, err) } tickets, err := srv.Tickets.List(testID) if err != nil || len(tickets) == 0 { t.Fatalf("tickets empty") } conns, err := db.ListConnections() if err != nil || len(conns) != 0 { t.Fatalf("expected no remote connections, got %v", conns) } // idempotent when projects already exist if err := srv.SeedDemo(); err != nil { t.Fatal(err) } projects2, _ := srv.Projects.List() if len(projects2) != len(projects) { t.Fatalf("re-seed changed project count") } }