38 lines
1.1 KiB
TypeScript
38 lines
1.1 KiB
TypeScript
|
import { describe, test } from "node:test";
|
||
|
import assert from "node:assert";
|
||
|
import { sum } from "lodash";
|
||
|
import * as dateFns from "date-fns";
|
||
|
import { clickhouseClient, knex } from "./databases";
|
||
|
|
||
|
const oneHourAgo = dateFns.format(
|
||
|
dateFns.subHours(new Date(), 1),
|
||
|
"yyyy-MM-dd hh:mm:ss"
|
||
|
);
|
||
|
|
||
|
describe("Events", () => {
|
||
|
test.skip("has inserted events", async () => {
|
||
|
const { data } = (await (
|
||
|
await clickhouseClient.query({
|
||
|
query: knex("events")
|
||
|
.count("")
|
||
|
.where("created_at", ">", oneHourAgo)
|
||
|
.toString(),
|
||
|
})
|
||
|
).json()) as any;
|
||
|
assert.notEqual(Number.parseInt(data[0]["count()"], 10), 0);
|
||
|
});
|
||
|
test("events have a country", async () => {
|
||
|
const { data } = (await (
|
||
|
await clickhouseClient.query({
|
||
|
query: knex("events")
|
||
|
.count()
|
||
|
.where("created_at", ">", oneHourAgo)
|
||
|
.groupBy("geo_ip_country")
|
||
|
.toString(),
|
||
|
format: "JSON",
|
||
|
})
|
||
|
).json()) as any;
|
||
|
assert.notEqual(sum(data.map((d) => Number.parseInt(d["count()"], 10))), 0);
|
||
|
});
|
||
|
});
|