UNPKG

ddl-manager

Version:

store postgres procedures and triggers in files

47 lines (37 loc) 1.23 kB
import fs from "fs"; import glob from "glob"; import { testTriggers } from "./testTriggers"; describe("TriggerFactory", () => { const cacheFiles = glob.sync(__dirname + "/**/cache.sql"); for (const cacheFilePath of cacheFiles) { const { dirPath: testDir, dirName: testName } = parsePath(cacheFilePath); if ( /^x-/.test(testName) ) { continue; } const files = fs.readdirSync(testDir); const tables = files .filter(fileName => /\.sql$/.test(fileName) && fileName !== "cache.sql" ) .map(fileName => fileName.replace(".sql", "") ); it(testDir.replace(__dirname, ""), async () => { await testTriggers({ testDir, tables }); }); } // "/a/b/c/x.sql" => {dirName: "c", dirPath: "/a/b/c"} function parsePath(filePath: string) { const dirNamesAndFileName = filePath.split("/"); const dirPath = dirNamesAndFileName.slice(0, -1).join("/"); const dirName = dirNamesAndFileName.slice(-2)[0]; return {dirPath, dirName}; } });