Issues (791)

test/users/manager.js (2 issues)

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
The variable res seems to be never used. Consider removing it.
Loading history...
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
The result of the property access to chai.expect(res).to.not.be.null is not used.
Loading history...
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
});