Ghost/ghost/core/test/e2e-api/admin/mentions.test.js

41 lines
1.2 KiB
JavaScript
Raw Normal View History

const {agentProvider, fixtureManager, mockManager, matchers} = require('../../utils/e2e-framework');
const {anyObjectId, anyISODateTime, anyString} = matchers;
const matchMentionShallowIncludes = {
id: anyObjectId,
source: anyString,
target: anyString,
timestamp: anyISODateTime,
source_title: anyString
};
describe('Mentions API', function () {
let agent;
before(async function () {
agent = await agentProvider.getAdminAPIAgent();
mockManager.mockLabsEnabled('webmentions');
// TODO: test various users' access
await fixtureManager.init('users','mentions');
await agent.loginAsOwner();
});
afterEach(function () {
mockManager.restore();
});
it('Can browse with limits', async function () {
const res = await agent.get('mentions/?limit=2')
.expectStatus(200)
.matchBodySnapshot({
mentions: new Array(2).fill(matchMentionShallowIncludes)
});
});
it('Cannot browse when lab disabled', async function () {
mockManager.mockLabsDisabled('webmentions');
const res = await agent.get('mentions/')
.expectStatus(404);
});
});