MCPcopy
hub / github.com/benbjohnson/wtf / TestUserService_FindUsers

Function TestUserService_FindUsers

sqlite/user_test.go:169–193  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

167}
168
169func TestUserService_FindUsers(t *testing.T) {
170 // Ensure users can be fetched by email address.
171 t.Run("Email", func(t *testing.T) {
172 db := MustOpenDB(t)
173 defer MustCloseDB(t, db)
174 s := sqlite.NewUserService(db)
175
176 ctx := context.Background()
177 MustCreateUser(t, ctx, db, &wtf.User{Name: "john", Email: "john@gmail.com"})
178 MustCreateUser(t, ctx, db, &wtf.User{Name: "jane", Email: "jane@gmail.com"})
179 MustCreateUser(t, ctx, db, &wtf.User{Name: "frank", Email: "frank@gmail.com"})
180 MustCreateUser(t, ctx, db, &wtf.User{Name: "sue", Email: "sue@gmail.com"})
181
182 email := "jane@gmail.com"
183 if a, n, err := s.FindUsers(ctx, wtf.UserFilter{Email: &email}); err != nil {
184 t.Fatal(err)
185 } else if got, want := len(a), 1; got != want {
186 t.Fatalf("len=%v, want %v", got, want)
187 } else if got, want := a[0].Name, "jane"; got != want {
188 t.Fatalf("name=%v, want %v", got, want)
189 } else if got, want := n, 1; got != want {
190 t.Fatalf("n=%v, want %v", got, want)
191 }
192 })
193}
194
195// MustCreateUser creates a user in the database. Fatal on error.
196func MustCreateUser(tb testing.TB, ctx context.Context, db *sqlite.DB, user *wtf.User) (*wtf.User, context.Context) {

Callers

nothing calls this directly

Calls 6

FindUsersMethod · 0.95
NewUserServiceFunction · 0.92
MustOpenDBFunction · 0.85
MustCloseDBFunction · 0.85
MustCreateUserFunction · 0.70
RunMethod · 0.45

Tested by

no test coverage detected