(t *testing.T)
| 2229 | } |
| 2230 | |
| 2231 | func TestUserLastSeenFilter(t *testing.T) { |
| 2232 | t.Parallel() |
| 2233 | if testing.Short() { |
| 2234 | t.SkipNow() |
| 2235 | } |
| 2236 | t.Run("Before", func(t *testing.T) { |
| 2237 | t.Parallel() |
| 2238 | sqlDB := testSQLDB(t) |
| 2239 | err := migrations.Up(sqlDB) |
| 2240 | require.NoError(t, err) |
| 2241 | db := database.New(sqlDB) |
| 2242 | ctx := context.Background() |
| 2243 | now := dbtime.Now() |
| 2244 | |
| 2245 | yesterday := dbgen.User(t, db, database.User{ |
| 2246 | LastSeenAt: now.Add(time.Hour * -25), |
| 2247 | }) |
| 2248 | today := dbgen.User(t, db, database.User{ |
| 2249 | LastSeenAt: now, |
| 2250 | }) |
| 2251 | lastWeek := dbgen.User(t, db, database.User{ |
| 2252 | LastSeenAt: now.Add((time.Hour * -24 * 7) + (-1 * time.Hour)), |
| 2253 | }) |
| 2254 | |
| 2255 | beforeToday, err := db.GetUsers(ctx, database.GetUsersParams{ |
| 2256 | LastSeenBefore: now.Add(time.Hour * -24), |
| 2257 | }) |
| 2258 | require.NoError(t, err) |
| 2259 | database.ConvertUserRows(beforeToday) |
| 2260 | |
| 2261 | requireUsersMatch(t, []database.User{yesterday, lastWeek}, beforeToday, "before today") |
| 2262 | |
| 2263 | justYesterday, err := db.GetUsers(ctx, database.GetUsersParams{ |
| 2264 | LastSeenBefore: now.Add(time.Hour * -24), |
| 2265 | LastSeenAfter: now.Add(time.Hour * -24 * 2), |
| 2266 | }) |
| 2267 | require.NoError(t, err) |
| 2268 | requireUsersMatch(t, []database.User{yesterday}, justYesterday, "just yesterday") |
| 2269 | |
| 2270 | all, err := db.GetUsers(ctx, database.GetUsersParams{ |
| 2271 | LastSeenBefore: now.Add(time.Hour), |
| 2272 | }) |
| 2273 | require.NoError(t, err) |
| 2274 | requireUsersMatch(t, []database.User{today, yesterday, lastWeek}, all, "all") |
| 2275 | |
| 2276 | allAfterLastWeek, err := db.GetUsers(ctx, database.GetUsersParams{ |
| 2277 | LastSeenAfter: now.Add(time.Hour * -24 * 7), |
| 2278 | }) |
| 2279 | require.NoError(t, err) |
| 2280 | requireUsersMatch(t, []database.User{today, yesterday}, allAfterLastWeek, "after last week") |
| 2281 | }) |
| 2282 | } |
| 2283 | |
| 2284 | func TestGetUsers_IncludeSystem(t *testing.T) { |
| 2285 | t.Parallel() |
nothing calls this directly
no test coverage detected