Auto-indexing service and GraphQL API for AT Protocol Records
quickslice.slices.network/
atproto
gleam
graphql
1import database/executor.{type Executor}
2import database/repositories/jetstream_activity
3import gleam/list
4import gleeunit
5import gleeunit/should
6import test_helpers
7
8pub fn main() {
9 gleeunit.main()
10}
11
12fn setup_test_db() -> Executor {
13 let assert Ok(exec) = test_helpers.create_test_db()
14 let assert Ok(_) = test_helpers.create_jetstream_activity_table(exec)
15 exec
16}
17
18pub fn bucket_1hr_returns_exactly_12_buckets_test() {
19 let exec = setup_test_db()
20
21 let assert Ok(buckets) = jetstream_activity.get_activity_1hr(exec)
22
23 list.length(buckets)
24 |> should.equal(12)
25}
26
27pub fn bucket_3hr_returns_exactly_12_buckets_test() {
28 let exec = setup_test_db()
29
30 let assert Ok(buckets) = jetstream_activity.get_activity_3hr(exec)
31
32 list.length(buckets)
33 |> should.equal(12)
34}
35
36pub fn bucket_6hr_returns_exactly_12_buckets_test() {
37 let exec = setup_test_db()
38
39 let assert Ok(buckets) = jetstream_activity.get_activity_6hr(exec)
40
41 list.length(buckets)
42 |> should.equal(12)
43}
44
45pub fn bucket_1day_returns_exactly_24_buckets_test() {
46 let exec = setup_test_db()
47
48 let assert Ok(buckets) = jetstream_activity.get_activity_1day(exec)
49
50 list.length(buckets)
51 |> should.equal(24)
52}
53
54pub fn bucket_7day_returns_exactly_7_buckets_test() {
55 let exec = setup_test_db()
56
57 let assert Ok(buckets) = jetstream_activity.get_activity_7day(exec)
58
59 list.length(buckets)
60 |> should.equal(7)
61}