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/'
 | 
						|
    ]);
 | 
						|
  });
 | 
						|
});
 |