Skip to content

Instantly share code, notes, and snippets.

@vincentmac
Created August 29, 2012 18:33
Show Gist options
  • Save vincentmac/3516767 to your computer and use it in GitHub Desktop.
Save vincentmac/3516767 to your computer and use it in GitHub Desktop.
Riak-js: User Model Test
// models.user.js
// User Model Tests
// Chai Assertion Library
var chai = require('chai')
, expect = chai.expect
, should = chai.should()
, User = require('../models/user');
chai.Assertion.includeStack = true; // defaults to false
describe('User Model', function() {
var userdata = {
provider: 'local'
, id: ''
, accountId: ''
, name: {
first: 'Vincent'
, last: 'Mac' }
, email: 'test@backoffice.io'.toLowerCase()
, username: 'TestUser'.toLowerCase()
, password: 'Secret'
};
var usermeta = {
headers: {
'X-Riak-index-email_bin': userdata.email,
'X-Riak-index-username_bin': userdata.username
}};
var user = new User(userdata);
before(function(done) {
this.timeout(5000);
user.create(usermeta, function(err, data, meta) {
if (err) {
// console.log('couldn\'t find user');
return done(err);
}
user.data.id = meta.key;
console.log('[USER KEY]', user.data.id);
// console.log('[USER DATA] ', user.data);
// console.log('[USER META] ', meta);
user.save(user.data.id, user.data, usermeta, done);
done();
});
});
after(function() {
var testuser = new User();
console.log('[USER DEL KEY]', user.data.id);
testuser.remove(user.data.id, function(err, data, meta) {
if(err) console.warn(err);
console.log('[USER DEL STATUS] ', meta.statusCode);
});
// testuser.remove(user.data.id);
// done();
});
describe('user properties', function() {
it('should be ok', function() {
expect(1).should.be.ok;
});
// it('should return testuser for username', function() {
// var testuser = new User();
// testuser.data = testuser.get(user.data.id);
// console.log('[TESTUSER] ',user.data.id);
// testuser.should.have.property('data.username', 'testuser');
// });
// it('should return test@backoffice.io for email', function() {
// user.should.have.property('data.email', 'test@backoffice.io');
// });
});
describe('delete key', function() {
it('should return status code 204', function(){
var testuser = new User();
console.log('[USER DEL KEY]', user.data.id);
return testuser.remove(user.data.id, function(err, data, meta) {
if(err) console.warn(err);
console.log('[USER DEL STATUS] ', meta.statusCode);
console.log('[USER DEL META] ', meta);
return expect(meta.statusCode).to.equal(204);
});
});
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment