This commit is contained in:
Tobias Klemp
2025-11-02 20:40:27 +01:00
commit e7bd070b3e
67 changed files with 3205 additions and 0 deletions

27
__tests__/service.test.ts Normal file
View File

@@ -0,0 +1,27 @@
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)
})
})