- Restructure directories: apps/api, apps/admin, apps/website - Add root pnpm-workspace.yaml, turbo.json, .prettierrc, .gitignore - Rename packages to @inkreach/api, @inkreach/admin, @inkreach/website - Add shared packages: packages/tsconfig, packages/shared-types - Add pnpm.onlyBuiltDependencies for native builds - Update docs: README.md, structs.md - All three projects build successfully
32 lines
897 B
TypeScript
32 lines
897 B
TypeScript
import { PrismaService } from './prisma.service';
|
|
import { Test } from '@nestjs/testing';
|
|
|
|
describe('PrismaService', () => {
|
|
let service: PrismaService;
|
|
|
|
beforeAll(async () => {
|
|
const moduleRef = await Test.createTestingModule({
|
|
providers: [PrismaService],
|
|
}).compile();
|
|
|
|
service = moduleRef.get(PrismaService);
|
|
await service.onModuleInit();
|
|
});
|
|
|
|
afterAll(async () => {
|
|
await service.onModuleDestroy();
|
|
});
|
|
|
|
it('should be defined', () => {
|
|
expect(service).toBeDefined();
|
|
});
|
|
|
|
it('should be able to run a trivial query against the database', async () => {
|
|
// Execute a raw query that does not depend on application tables
|
|
const result = await service.$queryRaw<Array<{ now: Date }>>`SELECT now() AS now`;
|
|
expect(Array.isArray(result)).toBe(true);
|
|
expect(result.length).toBe(1);
|
|
expect(result[0].now).toBeInstanceOf(Date);
|
|
});
|
|
});
|