ReviewOS

also looking at this

stacks/analyticshq

fix(dashboard): stop remote commands importing an absent config module

#59
Merged glennmichael123 wants to merge fix/analyticshq-remote-and-subscribers into main
5 files +114 -0
tests/unit/subscriber-migration.test.tsadded+26-0
Changes to tests/unit/subscriber-migration.test.ts
@@ -0,0 +1,26 @@
1import { describe, expect, it } from 'bun:test'
2import { readFileSync } from 'node:fs'
3import { join } from 'node:path'
4
5const migration = readFileSync(
6 join(import.meta.dir, '../../database/migrations/0000000053-create-email-subscriber-tables.sql'),
7 'utf8',
8)
9
10describe('email subscriber migration', () => {
11 it('creates both tables needed by SubscriberEmailAction', () => {
12 expect(migration).toContain('CREATE TABLE IF NOT EXISTS "subscribers"')
13 expect(migration).toContain('CREATE TABLE IF NOT EXISTS "subscriber_emails"')
14 expect(migration.indexOf('"subscribers"')).toBeLessThan(migration.indexOf('"subscriber_emails"'))
15 })
16
17 it('keeps subscriber identity and lookup fields unique', () => {
18 expect(migration).toContain('"subscribers_email_unique"')
19 expect(migration).toContain('"subscribers_uuid_unique"')
20 expect(migration).toContain('"subscriber_emails_uuid_unique"')
21 })
22
23 it('connects subscriber emails to their subscriber', () => {
24 expect(migration).toContain('"subscriber_id" bigint REFERENCES "subscribers"("id")')
25 })
26})