UNPKG

resturlify

Version:
75 lines (63 loc) 2.07 kB
'use strict'; 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'); }); });