Skip to content

Commit

Permalink
fix: UT User core
Browse files Browse the repository at this point in the history
  • Loading branch information
nicolaslabbe committed Nov 24, 2016
1 parent 5fb32b7 commit 1647118
Show file tree
Hide file tree
Showing 4 changed files with 67 additions and 16 deletions.
5 changes: 0 additions & 5 deletions src/cli/users/index.js
Expand Up @@ -32,9 +32,6 @@ export function getBdd() {
if (config.users.enable) {
json = readBddFile()
if (json == null) {
// writeBddFile({})
// mkdirp(path.dirname(bddFile))
// fs.writeJsonSync(bddFile, [], { space: 2, encoding: 'utf-8' })
var admin = add({
'username': 'admin',
'name': 'admin',
Expand All @@ -48,8 +45,6 @@ export function getBdd() {
activate(admin.user.id)

json = readBddFile({})
// json = JSON.parse(fs.readFileSync(bddFile, 'utf8'))

}
}
return json
Expand Down
2 changes: 1 addition & 1 deletion test/fixtures/abe.json
Expand Up @@ -7,7 +7,7 @@
"image": "unitimage"
},
"users": {
"enable": true,
"enable": false,
"commonPassword": [
"test"
],
Expand Down
1 change: 0 additions & 1 deletion test/fixtures/users/bdd.json

This file was deleted.

75 changes: 66 additions & 9 deletions test/users.js
Expand Up @@ -4,6 +4,7 @@ var expect = chai.expect
chai.use(sinonChai)
var sinon = require('sinon');
var path = require('path');
var bcrypt = require('bcrypt-nodejs');
// var child_process = require('child_process')
// import {Promise} from 'bluebird'
// var events = require('events')
Expand All @@ -13,19 +14,15 @@ var path = require('path');
var config = require('../src/cli').config
config.set({root: path.join(__dirname,'fixtures')})

var Manager = require('../src/cli').Manager;
var User = require('../src/cli').User;
var fse = require('fs-extra');

describe('users', function() {
before( function(done) {
Manager.instance.init()
.then(function () {
this.fixture = {
users: JSON.parse(fse.readFileSync(__dirname + '/fixtures/users/users.json', 'utf8')),
}
done()
}.bind(this))
before( function() {
config.users.enable = true
this.fixture = {
users: JSON.parse(fse.readFileSync(__dirname + '/fixtures/users/users.json', 'utf8')),
}
});

it('User.getUserRoutes', function(){
Expand Down Expand Up @@ -64,47 +61,79 @@ describe('users', function() {
})

it('User.findByResetPasswordToken', function(done){
// stub
var sinonInstance = sinon.sandbox.create();
var stub = sinonInstance.stub(User, 'getBdd');
stub.returns(JSON.parse(JSON.stringify(this.fixture.users)))

// test
User.findByResetPasswordToken("token", function (err, user) {
chai.expect(err).to.be.null
chai.expect(user).to.not.be.undefined
chai.expect(user.username).to.equal('test')

//unstub
sinon.assert.calledOnce(User.getBdd)
User.getBdd.restore()
done()
})
})

it('User.deactivate', function(){
// stub
var sinonInstance = sinon.sandbox.create();
var stub = sinonInstance.stub(User, 'getBdd');
stub.returns(JSON.parse(JSON.stringify(this.fixture.users)))
var stubWriteBddFile = sinonInstance.stub(User, 'writeBddFile');
stubWriteBddFile.returns(null);

// test
var bdd = User.deactivate(1)
chai.expect(bdd[0].actif).to.equal(0)

// unstub
sinon.assert.calledOnce(User.getBdd)
User.getBdd.restore()
sinon.assert.calledOnce(User.writeBddFile)
User.writeBddFile.restore()
})

it('User.activate', function(){
// stub
var sinonInstance = sinon.sandbox.create();
var stub = sinonInstance.stub(User, 'getBdd');
stub.returns(JSON.parse(JSON.stringify(this.fixture.users)))
var stubWriteBddFile = sinonInstance.stub(User, 'writeBddFile');
stubWriteBddFile.returns(null);

// test
var bdd = User.activate(1)
chai.expect(bdd[0].actif).to.equal(1)

// unstub
sinon.assert.calledOnce(User.getBdd)
User.getBdd.restore()
sinon.assert.calledOnce(User.writeBddFile)
User.writeBddFile.restore()
})

it('User.remove', function(){
// stub
var sinonInstance = sinon.sandbox.create();
var stub = sinonInstance.stub(User, 'getBdd');
stub.returns(JSON.parse(JSON.stringify(this.fixture.users)))
var stubWriteBddFile = sinonInstance.stub(User, 'writeBddFile');
stubWriteBddFile.returns(null);

// test
var bdd = User.remove(1)
chai.expect(bdd.length).to.equal(0)

// unstub
sinon.assert.calledOnce(User.getBdd)
User.getBdd.restore()
sinon.assert.calledOnce(User.writeBddFile)
User.writeBddFile.restore()
})

// it('User.decodeUser', function(){
Expand All @@ -118,9 +147,29 @@ describe('users', function() {
// })

it('User.update', function(){
// stub
var sinonInstance = sinon.sandbox.create();
var stubTextXss = sinonInstance.stub(User, 'textXss');
stubTextXss.returns({ success:1 });
var stubCheckSameEmail = sinonInstance.stub(User, 'checkSameEmail');
stubCheckSameEmail.returns({ success:1 });
var stubGetBdd = sinonInstance.stub(User, 'getBdd');
stubGetBdd.returns(JSON.parse(JSON.stringify(this.fixture.users)));
var stubWriteBddFile = sinonInstance.stub(User, 'writeBddFile');
stubWriteBddFile.returns(null);

var bdd = User.update({id: 2})
chai.expect(bdd.user.id).to.be.equal(2)

// unstub
sinon.assert.calledOnce(User.textXss)
User.textXss.restore()
sinon.assert.calledOnce(User.checkSameEmail)
User.checkSameEmail.restore()
sinon.assert.calledOnce(User.getBdd)
User.getBdd.restore()
sinon.assert.calledOnce(User.writeBddFile)
User.writeBddFile.restore()
})

it('User.updatePassword', function(){
Expand Down Expand Up @@ -160,6 +209,10 @@ describe('users', function() {
stubGetBdd.returns(JSON.parse(JSON.stringify(this.fixture.users)));
var stubWriteBddFile = sinonInstance.stub(User, 'writeBddFile');
stubWriteBddFile.returns(null);
var stubGenSaltSync = sinonInstance.stub(bcrypt, 'genSaltSync');
stubGenSaltSync.returns(null);
var stubHashSync = sinonInstance.stub(bcrypt, 'hashSync');
stubHashSync.returns("pwd");

// test
var res = User.add(JSON.parse(JSON.stringify(this.fixture.users))[0])
Expand All @@ -176,6 +229,10 @@ describe('users', function() {
User.getBdd.restore()
sinon.assert.calledOnce(User.writeBddFile)
User.writeBddFile.restore()
sinon.assert.calledOnce(bcrypt.genSaltSync)
bcrypt.genSaltSync.restore()
sinon.assert.calledOnce(bcrypt.hashSync)
bcrypt.hashSync.restore()
})

it('User.getAll', function(){
Expand Down

0 comments on commit 1647118

Please sign in to comment.