immich/server/src/sql-tools/from-code/index.spec.ts
Jason Rasmussen e7a5b96ed0
feat: extension, triggers, functions, comments, parameters management in sql-tools (#17269)
feat: sql-tools extension, triggers, functions, comments, parameters
2025-04-07 15:12:12 -04:00

37 lines
993 B
TypeScript

import { readdirSync } from 'node:fs';
import { join } from 'node:path';
import { reset, schemaFromCode } from 'src/sql-tools/from-code';
import { describe, expect, it } from 'vitest';
describe(schemaFromCode.name, () => {
beforeEach(() => {
reset();
});
it('should work', () => {
expect(schemaFromCode()).toEqual({
name: 'postgres',
schemaName: 'public',
functions: [],
enums: [],
extensions: [],
parameters: [],
tables: [],
warnings: [],
});
});
describe('test files', () => {
const files = readdirSync('test/sql-tools', { withFileTypes: true });
for (const file of files) {
const filePath = join(file.parentPath, file.name);
it(filePath, async () => {
const module = await import(filePath);
expect(module.description).toBeDefined();
expect(module.schema).toBeDefined();
expect(schemaFromCode(), module.description).toEqual(module.schema);
});
}
});
});