YouAndWeb_TwoToc
a2ecfb85282bb782ae96a40499c728d5c266f710
YouAndWeb_TwoToc / server / api / user / index.spec.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 |
'use strict'; var proxyquire = require('proxyquire').noPreserveCache(); var userCtrlStub = { index: 'userCtrl.index', destroy: 'userCtrl.destroy', me: 'userCtrl.me', changePassword: 'userCtrl.changePassword', show: 'userCtrl.show', create: 'userCtrl.create' }; var authServiceStub = { isAuthenticated: function() { return 'authService.isAuthenticated'; }, hasRole: function(role) { return 'authService.hasRole.' + role; } }; var routerStub = { get: sinon.spy(), put: sinon.spy(), post: sinon.spy(), delete: sinon.spy() }; // require the index with our stubbed out modules var userIndex = proxyquire('./index', { 'express': { Router: function() { return routerStub; } }, './user.controller': userCtrlStub, '../../auth/auth.service': authServiceStub }); describe('User API Router:', function() { it('should return an express router instance', function() { userIndex.should.equal(routerStub); }); describe('GET /api/users', function() { it('should verify admin role and route to user.controller.index', function() { routerStub.get .withArgs('/', 'authService.hasRole.admin', 'userCtrl.index') .should.have.been.calledOnce; }); }); describe('DELETE /api/users/:id', function() { it('should verify admin role and route to user.controller.destroy', function() { routerStub.delete .withArgs('/:id', 'authService.hasRole.admin', 'userCtrl.destroy') .should.have.been.calledOnce; }); }); describe('GET /api/users/me', function() { it('should be authenticated and route to user.controller.me', function() { routerStub.get .withArgs('/me', 'authService.isAuthenticated', 'userCtrl.me') .should.have.been.calledOnce; }); }); describe('PUT /api/users/:id/password', function() { it('should be authenticated and route to user.controller.changePassword', function() { routerStub.put .withArgs('/:id/password', 'authService.isAuthenticated', 'userCtrl.changePassword') .should.have.been.calledOnce; }); }); describe('GET /api/users/:id', function() { it('should be authenticated and route to user.controller.show', function() { routerStub.get .withArgs('/:id', 'authService.isAuthenticated', 'userCtrl.show') .should.have.been.calledOnce; }); }); describe('POST /api/users', function() { it('should route to user.controller.create', function() { routerStub.post .withArgs('/', 'userCtrl.create') .should.have.been.calledOnce; }); }); }); |
Commits for YouAndWeb_TwoTocserver/api/user/index.spec.js
Revision | Author | Commited | Message |
---|---|---|---|
a2ecfb ... | PTKDev | Fri 20 Nov, 2015 11:22:35 +0000 | TwoToc code |