resturlify
Version:
Consistently generate restful urls
75 lines (63 loc) • 2.07 kB
JavaScript
;
jest.dontMock('../RestUrlify.js');
describe('Rest URL Generation test-happy path', function() {
var RestUrlify = require('../RestUrlify.js');
var urlTools = new RestUrlify('http://www.web.com/api');
it('Test Basic Url--does nothing', function() {
var url = urlTools.buildUrl();
expect(url).toBe('http://www.web.com/api');
});
it('Test Basic Url + Resource', function() {
var url = urlTools.buildUrl({
resource: 'resource'
});
expect(url).toBe('http://www.web.com/api/resource');
});
it('Test Basic Url + Resource + Single Param', function() {
var url = urlTools.buildUrl({
resource: 'resource',
query: {id : 1}
});
expect(url).toBe('http://www.web.com/api/resource?id=1');
});
it('Test Basic Url + Resource + Id', function() {
var url = urlTools.buildUrl({
resource: 'resource',
id: 1
});
expect(url).toBe('http://www.web.com/api/resource/1');
});
it('Test Basic Url + Resource + Custom Method', function() {
var url = urlTools.buildUrl({
resource: 'resource',
customMethod: 'approve'
});
expect(url).toBe('http://www.web.com/api/resource/approve');
});
it('Test Basic Url + Resource + Id + Custom Method', function() {
var url = urlTools.buildUrl({
resource: 'resource',
id: 1,
customMethod: 'approve'
});
expect(url).toBe('http://www.web.com/api/resource/1/approve');
});
it('Test Basic Url + Resource + Id + Custom Method + Single Param', function() {
var url = urlTools.buildUrl({
resource: 'resource',
id: 1,
customMethod: 'approve',
query: {id:1}
});
expect(url).toBe('http://www.web.com/api/resource/1/approve?id=1');
});
it('Test Basic Url + Resource + Id + Custom Method + Multiple Params', function() {
var url = urlTools.buildUrl({
resource: 'resource',
id: 1,
customMethod: 'approve',
query: {id:1,status:1}
});
expect(url).toBe('http://www.web.com/api/resource/1/approve?id=1&status=1');
});
});