diff --git a/test/app/mocks.js b/test/app/mocks.js index 35d3971..a6481c9 100644 --- a/test/app/mocks.js +++ b/test/app/mocks.js @@ -139,6 +139,14 @@ global.HttpMock = { post: (url, data) => { var response = new global.ResponseMock(url); return RxJs.Observable.of(response); + }, + get: (url) => { + var response = new global.ResponseMock(url); + return RxJs.Observable.of(response); + }, + delete: (url) => { + var response = new global.ResponseMock(url); + return RxJs.Observable.of(response); } }; diff --git a/test/app/settings/user-admin/user-admin.service.spec.js b/test/app/settings/user-admin/user-admin.service.spec.js index e69de29..25911ac 100644 --- a/test/app/settings/user-admin/user-admin.service.spec.js +++ b/test/app/settings/user-admin/user-admin.service.spec.js @@ -0,0 +1,42 @@ +/* global HttpMock */ +var chai = require('chai'), + expect = chai.expect, + path = '../../../../build/settings/user-admin/', + UserAdminService = require(path + 'user-admin.service.js').UserAdminService; + +describe('UserAdminService', () => { + var userAdminService; + + beforeEach(() => { + userAdminService = new UserAdminService(HttpMock); + }); + + it('provides a list of users', (done) => { + userAdminService.getUsers().subscribe(users => { + expect(users.endpoint).to.equal('api/users'); + done(); + }); + }); + + it('allows a user to be added', (done) => { + userAdminService.addUser(null).subscribe(user => { + expect(user.endpoint).to.equal('api/users'); + done(); + }); + }); + + it('allows a user to be edited', (done) => { + userAdminService.editUser({ id: 1 }).subscribe(user => { + expect(user.endpoint).to.equal('api/users/1'); + done(); + }); + }); + + it('allows a user to be removed', (done) => { + userAdminService.removeUser(1).subscribe(user => { + expect(user.endpoint).to.equal('api/users/1'); + done(); + }) + }) +}); +