This repository has been archived on 2020-08-13. You can view files and clone it, but cannot push or open issues or pull requests.
requestor/test/main.js
2020-01-30 10:51:05 +01:00

80 lines
1.8 KiB
JavaScript

'use strict';
const { describe, it, beforeEach: before_each } = require ('mocha');
const { expect } = require ('chai');
const requestor = require ('../index');
const mock = {
registered: {},
post (path, handler) {
this.registered[`post-${path}`] = handler;
},
get (path, handler) {
this.registered[`get-${path}`] = handler;
},
put (path, handler) {
this.registered[`put-${path}`] = handler;
},
delete (path, handler) {
this.registered[`delete-${path}`] = handler;
},
all (path, handler) {
this.registered[`all-${path}`] = handler;
}
};
describe ('requestor', () => {
before_each (() => {
mock.registered = {};
});
it ('should detect all requests on root', () => {
requestor (mock, './test/root');
expect (mock.registered).to.have.all.keys ([
'post-/',
'get-/',
'put-/',
'delete-/',
'all-/'
]);
});
it ('should detect requests on root.subfolder', () => {
requestor (mock, './test/root.sub');
expect (mock.registered).to.have.all.keys ([
'post-/sub/',
'get-/sub/',
'put-/sub/',
'delete-/sub/',
'all-/sub/'
]);
});
it ('should detect requests on subfolder', () => {
requestor (mock, './test/sub');
expect (mock.registered).to.have.all.keys ([
'post-/sub/',
'get-/sub/',
'put-/sub/',
'delete-/sub/',
'all-/sub/',
'get-/sub/lv1/lv2/lv3/',
'all-/sub/root/'
]);
});
it ('should build requests with subdirectory', () => {
requestor (mock, './test/sub', { subdir: 'test' });
expect (mock.registered).to.have.all.keys ([
'post-/test/sub/',
'get-/test/sub/',
'put-/test/sub/',
'delete-/test/sub/',
'all-/test/sub/',
'get-/test/sub/lv1/lv2/lv3/',
'all-/test/sub/root/'
]);
});
});