2022-05-12 15:46:10 +03:00
|
|
|
const {agentProvider, fixtureManager, matchers} = require('../../utils/e2e-framework');
|
|
|
|
const testUtils = require('../../utils');
|
|
|
|
const models = require('../../../core/server/models');
|
|
|
|
|
|
|
|
const offerSnapshot = {
|
|
|
|
id: matchers.anyObjectId,
|
|
|
|
tier: {
|
|
|
|
id: matchers.anyObjectId
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
describe('Offers Content API', function () {
|
|
|
|
let agent;
|
|
|
|
|
|
|
|
before(async function () {
|
|
|
|
agent = await agentProvider.getContentAPIAgent();
|
|
|
|
await fixtureManager.init('api_keys', 'members');
|
2022-05-30 16:00:55 +03:00
|
|
|
await agent.authenticate();
|
2022-05-12 15:46:10 +03:00
|
|
|
});
|
|
|
|
|
|
|
|
it('Can read offer details from id', async function () {
|
|
|
|
const productModel = await models.Product.findOne({type: 'paid'}, testUtils.context.internal);
|
|
|
|
|
|
|
|
const offerData = testUtils.DataGenerator.forKnex.createOffer({
|
|
|
|
product_id: productModel.get('id')
|
|
|
|
});
|
|
|
|
const offerModel = await models.Offer.add(offerData, {context: {internal: true}});
|
|
|
|
|
|
|
|
await agent.get(`/offers/${offerModel.get('id')}`)
|
|
|
|
.expectStatus(200)
|
|
|
|
.matchHeaderSnapshot({
|
|
|
|
etag: matchers.anyEtag
|
|
|
|
})
|
|
|
|
.matchBodySnapshot({
|
|
|
|
offers: Array(1).fill(offerSnapshot)
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|