mirror of https://github.com/Seich/Beau.git
45 lines
1.2 KiB
JavaScript
45 lines
1.2 KiB
JavaScript
const yaml = require('js-yaml');
|
|
const Beau = require('../beau');
|
|
|
|
describe(`Beau's config Loader.`, () => {
|
|
it('Should only load valid configuration keys', () => {
|
|
const doc = yaml.safeLoad(`
|
|
version: 1
|
|
endpoint: http://martianwabbit.com
|
|
cache: false
|
|
shouldntBeAdded: true
|
|
`);
|
|
|
|
const beau = new Beau(doc);
|
|
|
|
expect(beau.config.ENDPOINT).toBe(doc.endpoint);
|
|
expect(beau.config.CACHE).toBe(doc.cache);
|
|
expect(beau.config.VERSION).toBe(doc.version);
|
|
expect(beau.config.shouldntBeAdded).toBeUndefined();
|
|
});
|
|
|
|
it('should set up defaults for all requests', () => {
|
|
const doc = yaml.safeLoad(`
|
|
version: 1
|
|
endpoint: 'http://jsonplaceholder.typicode.com'
|
|
|
|
defaults:
|
|
headers:
|
|
authentication: hello
|
|
|
|
GET /posts/1: get-post
|
|
GET /user:
|
|
alias: user
|
|
headers:
|
|
hello: world
|
|
`);
|
|
|
|
const beau = new Beau(doc);
|
|
|
|
expect(beau).toMatchSnapshot();
|
|
beau.requests.list.forEach(r => {
|
|
expect(r.HEADERS.authentication).toMatch('hello');
|
|
});
|
|
});
|
|
});
|