UNPKG

@gameroom/kit

Version:

Node kit for the Gameroom API

144 lines (139 loc) 3.74 kB
const { faker } = require('@faker-js/faker'), chai = require('chai') const { models: { Timecard, User } } = require('../../') const should = chai.should() let object, user_id describe('Timecard', () => { describe('setup', () => { it('should create objects for relationships', 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') user_id = result.id }) }) describe('Timecard.create()', () => { it('should create an timecard', async () => { let result, error try { result = await Timecard.create({ user_id, status: 4 }) } catch (err) { error = err } should.not.exist(error) should.exist(result) result.should.be.a('object') object = result }) }) describe('Timecard.get()', () => { it('should get array of timecards', async () => { let result, error try { result = await Timecard.get() } catch (err) { error = err } should.not.exist(error) should.exist(result) result.should.be.a('array') }) }) describe('Timecard.getAll()', () => { it('should get array of all timecards', async () => { let result, error try { result = await Timecard.getAll() } catch (err) { error = err } should.not.exist(error) should.exist(result) result.should.be.a('array') }) }) describe('Timecard.find()', () => { it('should find a timecard', async () => { let result, error try { result = await Timecard.find(object, { view: 'full' }) } catch (err) { error = err } should.not.exist(error) should.exist(result) result.should.be.a('object') object = result }) }) describe('Timecard keys', () => { it('should match api and kit keys', async () => { const raw = await Timecard.schema.adapter.find(Timecard.schema, object.id) Object.keys(new Timecard()).sort().should.deep.equal(Object.keys(raw).sort()) }) }) // Broken // describe('Timecard.update()', () => { // it('should update a timecard', async () => { // let result, error // const update = Object.assign(new Timecard(), object) // delete update.ended_at // delete update.started_at // try { // result = await Timecard.update(update) // } catch(err) { // error = err // } // should.not.exist(error) // should.exist(result) // result.should.be.a('object') // }) // }) describe('timecard.save()', () => { it('should update one timecard', async () => { let result, error const update = Object.assign(new Timecard(), object) delete update.ended_at delete update.started_at try { result = await update.save() } catch (err) { error = err } should.not.exist(error) should.exist(result) result.should.be.a('object') }) }) describe('Timecard.delete()', () => { it('should delete one timecard', async () => { let result, error try { result = await Timecard.delete(object) } catch (err) { error = err } should.not.exist(error) should.exist(result) }) }) describe('teardown', () => { it('should delete the relationship objects', async () => { let error try { await User.delete(user_id) } catch (err) { error = err } should.not.exist(error) }) }) })