mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-30 14:22:07 +03: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
48 lines
1.5 KiB
JavaScript
48 lines
1.5 KiB
JavaScript
const path = require('path');
|
|
const should = require('should');
|
|
const supertest = require('supertest');
|
|
const sinon = require('sinon');
|
|
const testUtils = require('../../utils');
|
|
const localUtils = require('../../regression/api/canary/admin/utils');
|
|
const config = require('../../../core/shared/config');
|
|
|
|
describe('Labels API', function () {
|
|
let request;
|
|
|
|
after(function () {
|
|
sinon.restore();
|
|
});
|
|
|
|
before(async function () {
|
|
await testUtils.startGhost();
|
|
request = supertest.agent(config.get('url'));
|
|
await localUtils.doAuth(request);
|
|
});
|
|
|
|
it('Can add', async function () {
|
|
const label = {
|
|
name: 'test'
|
|
};
|
|
|
|
const res = await request
|
|
.post(localUtils.API.getApiQuery(`labels/`))
|
|
.send({labels: [label]})
|
|
.set('Origin', config.get('url'))
|
|
.expect('Content-Type', /json/)
|
|
.expect('Cache-Control', testUtils.cacheRules.private)
|
|
.expect(201);
|
|
|
|
should.not.exist(res.headers['x-cache-invalidate']);
|
|
const jsonResponse = res.body;
|
|
should.exist(jsonResponse);
|
|
should.exist(jsonResponse.labels);
|
|
|
|
jsonResponse.labels.should.have.length(1);
|
|
jsonResponse.labels[0].name.should.equal(label.name);
|
|
jsonResponse.labels[0].slug.should.equal(label.name);
|
|
|
|
should.exist(res.headers.location);
|
|
res.headers.location.should.equal(`http://127.0.0.1:2369${localUtils.API.getApiQuery('labels/')}${res.body.labels[0].id}/`);
|
|
});
|
|
});
|