80 lines
1.8 KiB
JavaScript
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/'
|
|
]);
|
|
});
|
|
});
|