package store_test import ( "context" "errors" "testing" "github.com/netcell-it/deklarix/internal/store" ) func TestAbteilungCRUD(t *testing.T) { s := openTestStore(t) ctx := context.Background() accID := testAccountID(t, s) a, err := s.CreateAbteilung(ctx, accID, "IT") if err != nil { t.Fatalf("CreateAbteilung: %v", err) } got, err := s.GetAbteilung(ctx, a.ID) if err != nil { t.Fatalf("GetAbteilung: %v", err) } if got.Name != "IT" || got.AccountID != accID { t.Fatalf("GetAbteilung = %+v, unerwartete Werte", got) } list, err := s.ListAbteilungenForAccount(ctx, accID) if err != nil { t.Fatalf("ListAbteilungenForAccount: %v", err) } if len(list) != 1 || list[0].ID != a.ID { t.Fatalf("ListAbteilungenForAccount = %+v, want exactly the created Abteilung", list) } if err := s.DeleteAbteilung(ctx, a.ID); err != nil { t.Fatalf("DeleteAbteilung: %v", err) } if _, err := s.GetAbteilung(ctx, a.ID); !errors.Is(err, store.ErrNotFound) { t.Fatalf("err nach Delete = %v, want store.ErrNotFound", err) } } func TestAbteilungIsolatedPerAccount(t *testing.T) { s := openTestStore(t) ctx := context.Background() accA := testAccountID(t, s) accB := testAccountID(t, s) if _, err := s.CreateAbteilung(ctx, accA, "Marketing"); err != nil { t.Fatalf("CreateAbteilung: %v", err) } list, err := s.ListAbteilungenForAccount(ctx, accB) if err != nil { t.Fatalf("ListAbteilungenForAccount: %v", err) } if len(list) != 0 { t.Fatalf("expected no Abteilungen for Mandant B, got %+v", list) } }