Auto-indexing service and GraphQL API for AT Protocol Records quickslice.slices.network/
atproto gleam graphql
at main 61 lines 1.4 kB view raw
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}