UNPKG

evrythng

Version:

Official Javascript SDK for the EVRYTHNG API.

55 lines (43 loc) 1.57 kB
const { expect } = require('chai') const { getScope, mockApi } = require('../util') module.exports = (scopeType, url) => { describe('Roles', () => { let scope, api before(() => { scope = getScope(scopeType) api = mockApi(url) }) it('should read all roles', async () => { api.get('/roles').reply(200, [{ id: 'roleId' }]) const res = await scope.role().read() expect(res).to.be.an('array') expect(res).to.have.length.gte(1) }) if (scopeType === 'operator') { it('should create a role', async () => { const payload = { name: 'Test Role' } api.post('/roles', payload).reply(201, payload) const res = await scope.role().create(payload) expect(res).to.be.an('object') expect(res.name).to.equal('Test Role') }) it('should read a role', async () => { api.get('/roles/roleId').reply(200, { id: 'roleId' }) const res = await scope.role('roleId').read() expect(res).to.be.an('object') expect(res.id).to.equal('roleId') }) it('should update a role', async () => { const payload = { description: 'updated' } api.put('/roles/roleId', payload).reply(200, payload) const res = await scope.role('roleId').update(payload) expect(res).to.be.an('object') expect(res.description).to.equal(payload.description) }) it('should delete a role', async () => { api.delete('/roles/roleId').reply(200) await scope.role('roleId').delete() }) } }) }