Files
noodl/packages/noodl-editor/tests/utils/verify-json.spec.ts
Michael Cartner b9c60b07dc Initial commit
Co-Authored-By: Eric Tuvesson <eric.tuvesson@gmail.com>
Co-Authored-By: mikaeltellhed <2311083+mikaeltellhed@users.noreply.github.com>
Co-Authored-By: kotte <14197736+mrtamagotchi@users.noreply.github.com>
Co-Authored-By: Anders Larsson <64838990+anders-topp@users.noreply.github.com>
Co-Authored-By: Johan  <4934465+joolsus@users.noreply.github.com>
Co-Authored-By: Tore Knudsen <18231882+torekndsn@users.noreply.github.com>
Co-Authored-By: victoratndl <99176179+victoratndl@users.noreply.github.com>
2024-01-26 11:52:55 +01:00

33 lines
1007 B
TypeScript

import fs from 'node:fs/promises';
import os from 'node:os';
import path from 'node:path';
import { verifyJsonFile } from '../../src/editor/src/utils/verifyJson';
describe('Verify json', () => {
let jsonFilePath, testDirectory;
beforeEach(async () => {
testDirectory = await fs.mkdtemp(path.join(os.tmpdir(), 'noodl-json-verify-test-'));
jsonFilePath = path.join(testDirectory, 'json-file.json');
});
afterEach(async () => {
await fs.rmdir(testDirectory, { recursive: true });
});
it('verifies a valid json file', async () => {
await fs.writeFile(jsonFilePath, JSON.stringify({ a: 1, b: 2, c: 3 }));
expect(await verifyJsonFile(jsonFilePath)).toBe(true);
});
it("rejects a file that doesn't exist", async () => {
expect(await verifyJsonFile('dinmamma.lololol')).toBe(false);
});
it('rejects a file with invalid json', async () => {
await fs.writeFile(jsonFilePath, 'invalid json');
expect(await verifyJsonFile(jsonFilePath)).toBe(false);
});
});