(t *testing.T, ctx context.Context, s *UsersStore)
| 1323 | } |
| 1324 | |
| 1325 | func usersFollow(t *testing.T, ctx context.Context, s *UsersStore) { |
| 1326 | usersStore := newUsersStore(s.db) |
| 1327 | alice, err := usersStore.Create(ctx, "alice", "alice@example.com", CreateUserOptions{}) |
| 1328 | require.NoError(t, err) |
| 1329 | bob, err := usersStore.Create(ctx, "bob", "bob@example.com", CreateUserOptions{}) |
| 1330 | require.NoError(t, err) |
| 1331 | |
| 1332 | err = s.Follow(ctx, alice.ID, bob.ID) |
| 1333 | require.NoError(t, err) |
| 1334 | |
| 1335 | // It is OK to follow multiple times and just be noop. |
| 1336 | err = s.Follow(ctx, alice.ID, bob.ID) |
| 1337 | require.NoError(t, err) |
| 1338 | |
| 1339 | alice, err = usersStore.GetByID(ctx, alice.ID) |
| 1340 | require.NoError(t, err) |
| 1341 | assert.Equal(t, 1, alice.NumFollowing) |
| 1342 | |
| 1343 | bob, err = usersStore.GetByID(ctx, bob.ID) |
| 1344 | require.NoError(t, err) |
| 1345 | assert.Equal(t, 1, bob.NumFollowers) |
| 1346 | } |
| 1347 | |
| 1348 | func usersIsFollowing(t *testing.T, ctx context.Context, s *UsersStore) { |
| 1349 | usersStore := newUsersStore(s.db) |
nothing calls this directly
no test coverage detected