Skip to content

Commit 7055350

Browse files
committed
add overrides validation unit tests
1 parent ec84af3 commit 7055350

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

packages/@apphosting/adapter-nextjs/src/overrides.spec.ts

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -326,6 +326,54 @@ describe("next config overrides", () => {
326326
});
327327
});
328328

329+
describe("validateNextConfigOverride", () => {
330+
let tmpDir: string;
331+
let root: string;
332+
let projectRoot: string;
333+
let originalConfigFileName: string;
334+
let newConfigFileName: string;
335+
let originalConfigPath: string;
336+
let newConfigPath: string;
337+
338+
beforeEach(() => {
339+
tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), "test-next-config-override"));
340+
root = tmpDir;
341+
projectRoot = tmpDir;
342+
originalConfigFileName = "next.config.js";
343+
newConfigFileName = "next.config.original.js";
344+
originalConfigPath = path.join(root, originalConfigFileName);
345+
newConfigPath = path.join(root, newConfigFileName);
346+
347+
fs.mkdirSync(root, { recursive: true });
348+
});
349+
350+
afterEach(() => {
351+
fs.rmSync(tmpDir, { recursive: true, force: true });
352+
});
353+
354+
it("should throw an error when new config file doesn't exist", async () => {
355+
fs.writeFileSync(originalConfigPath, "module.exports = {}");
356+
357+
const { validateNextConfigOverride } = await importOverrides;
358+
359+
await assert.rejects(
360+
async () => await validateNextConfigOverride(root, projectRoot, originalConfigFileName),
361+
/New Next.js config file not found/,
362+
);
363+
});
364+
365+
it("should throw an error when original config file doesn't exist", async () => {
366+
fs.writeFileSync(newConfigPath, "module.exports = {}");
367+
368+
const { validateNextConfigOverride } = await importOverrides;
369+
370+
await assert.rejects(
371+
async () => await validateNextConfigOverride(root, projectRoot, originalConfigFileName),
372+
/Original Next.js config file not found/,
373+
);
374+
});
375+
});
376+
329377
// Normalize whitespace for comparison
330378
function normalizeWhitespace(str: string) {
331379
return str.replace(/\s+/g, " ").trim();

0 commit comments

Comments
 (0)