mirror of
https://github.com/matt-fidd/stratos.git
synced 2026-01-01 15:39:25 +00:00
40 lines
1.0 KiB
JavaScript
40 lines
1.0 KiB
JavaScript
'use strict';
|
|
|
|
const importJSON = require('../importJSON');
|
|
const fs = require('fs');
|
|
|
|
describe('importJSON', () => {
|
|
test('Import a file from config dir if no dir param given', () => {
|
|
const loadedFile = importJSON('db.sample');
|
|
|
|
expect(loadedFile).toBeObject();
|
|
expect(loadedFile.host).toBe('hostname');
|
|
expect(loadedFile.port).toBeNumber();
|
|
expect(loadedFile.port).toBe(1111);
|
|
});
|
|
|
|
test('Import a file from specified dir', () => {
|
|
const loadedFile = importJSON('db.sample', 'config');
|
|
|
|
expect(loadedFile).toBeObject();
|
|
expect(loadedFile.host).toBe('hostname');
|
|
expect(loadedFile.port).toBeNumber();
|
|
expect(loadedFile.port).toBe(1111);
|
|
});
|
|
|
|
test('Fail if file doesn\'t exist', () => {
|
|
expect(() => importJSON('bob'))
|
|
.toThrowError('Missing file');
|
|
});
|
|
|
|
test('Fail if file is malformed', () => {
|
|
fs.mkdirSync('config/test');
|
|
fs.writeFileSync('config/test/test.json', 'bob');
|
|
|
|
expect(() => importJSON('test', 'config/test'))
|
|
.toThrowError('Malformed file');
|
|
|
|
fs.rmSync('config/test', { recursive: true });
|
|
});
|
|
});
|