Files
phoenix/__tests__/service.test.ts
Tobias Klemp e7bd070b3e init
2025-11-02 20:40:27 +01:00

28 lines
784 B
TypeScript

import { describe, expect, it } from 'bun:test'
import { Effect } from 'effect'
import * as DB from '../src/lib/server/db/DB'
import { isNotNull } from 'drizzle-orm'
import { User } from '../src/lib/server/db/user'
describe('Service', () => {
it('should query stuff', async () => {
const testDb = Effect.gen(function* () {
const db = yield* DB.Db
const user: User[] = yield* db.use((db) =>
db.select().from(DB.tables.user).where(isNotNull(DB.tables.user.id)),
)
return user
})
.pipe(Effect.provide(DB.fromEnv))
.pipe(Effect.catchTag('DbError', (_e) => Effect.succeed([] as User[])))
.pipe(Effect.catchTag('ConfigError', (_e) => Effect.succeed([] as User[])))
const result = await Effect.runPromise(testDb)
expect(result).toHaveLength(0)
})
})