1 | var chai = require('chai'); |
||
2 | var sinonChai = require('sinon-chai') |
||
3 | var expect = chai.expect |
||
4 | chai.use(sinonChai) |
||
5 | var sinon = require('sinon'); |
||
6 | var fs = require('fs-extra'); |
||
7 | var path = require('path'); |
||
8 | |||
9 | var coreUtils = require('../../src/cli').coreUtils |
||
10 | var config = require('../../src/cli').config |
||
11 | config.set({root: path.join(process.cwd(), 'test', 'fixtures')}) |
||
12 | |||
13 | var User = require('../../src/cli').User; |
||
14 | |||
15 | describe('User.manager', function() { |
||
16 | before( function() { |
||
17 | config.users.enable = true |
||
18 | this.fixture = { |
||
19 | htmlIsAuthorized: fs.readFileSync(path.join(process.cwd(), 'test', 'fixtures', 'templates', 'isAuthorized.html'), 'utf8'), |
||
20 | htmlIsAuthorizedTrue: fs.readFileSync(path.join(process.cwd(), 'test', 'fixtures', 'templates', 'isAuthorizedTrue.html'), 'utf8'), |
||
21 | users: JSON.parse(fs.readFileSync(path.join(process.cwd(), 'test', 'fixtures', 'users', 'users.json'), 'utf8')) |
||
22 | } |
||
23 | }); |
||
24 | |||
25 | it('User.manager.instance.get', function(){ |
||
26 | // stub |
||
27 | var sinonInstance = sinon.sandbox.create(); |
||
28 | var stubRead = sinonInstance.stub(User.manager.instance, 'read'); |
||
29 | stubRead.returns(JSON.parse(JSON.stringify(this.fixture.users))) |
||
30 | |||
31 | // test |
||
32 | var res = User.manager.instance.get() |
||
33 | chai.expect(res.length).to.be.above(0) |
||
34 | |||
35 | // unstub |
||
36 | User.manager.instance.read.restore() |
||
37 | }) |
||
38 | |||
39 | it('User.manager.instance.save', function(){ |
||
40 | // stub |
||
41 | var sinonInstance = sinon.sandbox.create(); |
||
42 | var stubFs = sinonInstance.stub(fs, 'writeJsonSync'); |
||
43 | stubFs.returns(null) |
||
44 | |||
45 | // test |
||
46 | var res = User.manager.instance.save() |
||
0 ignored issues
–
show
Unused Code
introduced
by
![]() |
|||
47 | |||
48 | // unstub |
||
49 | sinon.assert.calledOnce(fs.writeJsonSync) |
||
50 | fs.writeJsonSync.restore() |
||
51 | }) |
||
52 | |||
53 | it('User.manager.instance.read', function(){ |
||
54 | // stub |
||
55 | var sinonInstance = sinon.sandbox.create(); |
||
56 | var stubFs = sinonInstance.stub(fs, 'readFileSync'); |
||
57 | stubFs.returns(JSON.stringify(this.fixture.users)) |
||
58 | var stubExist = sinonInstance.stub(coreUtils.file, 'exist'); |
||
59 | stubExist.returns(true) |
||
60 | |||
61 | // test |
||
62 | var res = User.manager.instance.read() |
||
63 | chai.expect(res).to.not.be.null |
||
0 ignored issues
–
show
|
|||
64 | |||
65 | // unstub |
||
66 | sinon.assert.calledOnce(fs.readFileSync) |
||
67 | fs.readFileSync.restore() |
||
68 | sinon.assert.calledOnce(coreUtils.file.exist) |
||
69 | coreUtils.file.exist.restore() |
||
70 | }) |
||
71 | |||
72 | it('User.manager.instance.update', function(){ |
||
73 | // stub |
||
74 | var sinonInstance = sinon.sandbox.create(); |
||
75 | var stubSave = sinonInstance.stub(User.manager.instance, 'save'); |
||
76 | stubSave.returns(JSON.parse(JSON.stringify(this.fixture.users))) |
||
77 | |||
78 | // test |
||
79 | var res = User.manager.instance.update() |
||
80 | chai.expect(res).to.be.equal(true) |
||
81 | |||
82 | // unstub |
||
83 | sinon.assert.calledOnce(User.manager.instance.save) |
||
84 | User.manager.instance.save.restore() |
||
85 | }) |
||
86 | }); |