init
This commit is contained in:
27
__tests__/service.test.ts
Normal file
27
__tests__/service.test.ts
Normal 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)
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user