package lishwist_test import ( "testing" "lishwist/core/internal/assert" "lishwist/core/internal/fixtures" ) func TestMakeWish(t *testing.T) { s := fixtures.Login(t, "thomas", "123") if _, err := s.MakeWish("apple"); err != nil { t.Fatalf("Failed to make wish 1: %s\n", err) } if _, err := s.MakeWish(" A car "); err != nil { t.Fatalf("Failed to make wish 2: %s\n", err) } wishes, err := s.GetWishes() if err != nil { t.Fatalf("Failed to get wishes: %s\n", err) } fixtures.AssertEq(t, "Number of wishes", 2, len(wishes)) fixtures.AssertEq(t, "Wish 1 name", wishes[0].Name, "apple") fixtures.AssertEq(t, "Wish 2 name", wishes[1].Name, "A car") } func TestClaimUnclaimWishes(t *testing.T) { err := fixtures.TestInit(t) assert.FatalErr(t, "initializing db", err) thomas := fixtures.Login2(t, "thomas", "123") assert.FatalErr(t, "registering thomas", err) caleb := fixtures.Login2(t, "caleb", "123") assert.FatalErr(t, "registering caleb", err) food, err := caleb.MakeWish("food") assert.FatalErr(t, "making wish 1", err) box, err := caleb.MakeWish("box") assert.FatalErr(t, "making wish 2", err) drink, err := caleb.MakeWish("drink") assert.FatalErr(t, "making wish 3", err) err = thomas.ClaimWishes([]string{food, box, drink}, []string{}) assert.FatalErr(t, "claiming wishes", err) err = thomas.ClaimWishes([]string{}, []string{food, box, drink}) assert.FatalErr(t, "unclaiming wishes", err) // FIXME: disabled for now because datetimes break this // events, err := thomas.Admin().ListEvents() // assert.FatalErr(t, "listing events", err) // assert.JsonSnapshot(t, "TestClaimUnclaimWishes.snap.txt", events) }