62 lines
1.6 KiB
Go
62 lines
1.6 KiB
Go
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)
|
|
}
|