@gameroom/gameroom-kit
Version:
Node kit for the Gameroom API
99 lines (97 loc) • 2.58 kB
JavaScript
let chai = require('chai'),
should = chai.should(),
faker = require('faker'),
{ models } = require('../../'),
{ User } = models,
object;
describe('User', () => {
describe('User.create()', () => {
it('should create an user', async () => {
let result, error;
try {
result = await User.create({ email: faker.internet.email(), password: faker.random.word() });
} catch(err) {
error = err;
};
should.not.exist(error);
should.exist(result);
result.should.be.a('object');
object = result;
});
});
describe('User.get()', () => {
it('should get array of users', async () => {
let result, error;
try {
result = await User.get();
} catch(err) {
error = err;
};
should.not.exist(error);
should.exist(result);
result.should.be.a('array');
});
});
describe('User.find()', () => {
it('should find a user', async() => {
let result, error;
try {
result = await User.find(object, { view: 'full' });
} catch(err) {
error = err;
};
should.not.exist(error);
should.exist(result);
result.should.be.a('object');
object = result;
});
});
describe('User keys', () => {
it('should match api and kit keys', async () => {
object.password = 'password';
const objectKeys = Object.keys(object).sort();
const attributeKeys = Object.keys(User.schema.attributes).sort();
objectKeys.should.deep.equal(attributeKeys);
});
});
describe('User.update()', () => {
it('should update a user', async () => {
let result, error;
object.password = faker.random.word();
try {
result = await User.update(object);
} catch(err) {
error = err;
};
should.not.exist(error);
should.exist(result);
result.should.be.a('object');
});
});
describe('user.save()', () => {
it('should update one user', async () => {
let result, error;
object.password = faker.random.word();
try {
result = await object.save();
} catch(err) {
error = err;
};
should.not.exist(error);
should.exist(result);
result.should.be.a('object');
});
});
describe('User.delete()', () => {
it('should delete one user', async () => {
let result, error;
try {
result = await User.delete(object);
} catch(err) {
error = err;
};
should.not.exist(error);
should.exist(result);
});
});
});