mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-01-06 22:40:14 -05:00
04fb7f8e69
- refactoring the acceptance tests to use async-await removes all the Promise chaining we had, and streamlines the coding styles we have across the code so test files are more alike
60 lines
2.6 KiB
JavaScript
60 lines
2.6 KiB
JavaScript
const should = require('should');
|
|
const supertest = require('supertest');
|
|
const config = require('../../../core/shared/config');
|
|
const testUtils = require('../../utils');
|
|
const localUtils = require('./utils');
|
|
|
|
describe('Roles API', function () {
|
|
let request;
|
|
|
|
before(async function () {
|
|
await testUtils.startGhost();
|
|
request = supertest.agent(config.get('url'));
|
|
await localUtils.doAuth(request, 'posts');
|
|
});
|
|
|
|
it('Can request all roles', async function () {
|
|
const res = await request.get(localUtils.API.getApiQuery('roles/'))
|
|
.set('Origin', config.get('url'))
|
|
.expect('Content-Type', /json/)
|
|
.expect('Cache-Control', testUtils.cacheRules.private)
|
|
.expect(200);
|
|
|
|
should.not.exist(res.headers['x-cache-invalidate']);
|
|
const response = res.body;
|
|
should.exist(response);
|
|
should.exist(response.roles);
|
|
localUtils.API.checkResponse(response, 'roles');
|
|
response.roles.should.have.length(8);
|
|
localUtils.API.checkResponse(response.roles[0], 'role');
|
|
localUtils.API.checkResponse(response.roles[1], 'role');
|
|
localUtils.API.checkResponse(response.roles[2], 'role');
|
|
localUtils.API.checkResponse(response.roles[3], 'role');
|
|
localUtils.API.checkResponse(response.roles[4], 'role');
|
|
localUtils.API.checkResponse(response.roles[5], 'role');
|
|
localUtils.API.checkResponse(response.roles[6], 'role');
|
|
localUtils.API.checkResponse(response.roles[7], 'role');
|
|
});
|
|
|
|
it('Can request roles which i am able to assign to other users', async function () {
|
|
const res = await request.get(localUtils.API.getApiQuery('roles/?permissions=assign'))
|
|
.set('Origin', config.get('url'))
|
|
.expect('Content-Type', /json/)
|
|
.expect('Cache-Control', testUtils.cacheRules.private)
|
|
.expect(200);
|
|
|
|
should.not.exist(res.headers['x-cache-invalidate']);
|
|
const response = res.body;
|
|
should.exist(response.roles);
|
|
localUtils.API.checkResponse(response, 'roles');
|
|
response.roles.should.have.length(4);
|
|
localUtils.API.checkResponse(response.roles[0], 'role');
|
|
localUtils.API.checkResponse(response.roles[1], 'role');
|
|
localUtils.API.checkResponse(response.roles[2], 'role');
|
|
localUtils.API.checkResponse(response.roles[3], 'role');
|
|
response.roles[0].name.should.equal('Administrator');
|
|
response.roles[1].name.should.equal('Editor');
|
|
response.roles[2].name.should.equal('Author');
|
|
response.roles[3].name.should.equal('Contributor');
|
|
});
|
|
});
|