debian-mirror-gitlab/spec/contracts/consumer/specs/project/pipelines/new.spec.js
2023-03-05 14:24:40 +05:30

41 lines
1.1 KiB
JavaScript

import { pactWith } from 'jest-pact';
import { NewProjectPipeline } from '../../../fixtures/project/pipelines/create_a_new_pipeline.fixture';
import { postProjectPipelines } from '../../../resources/api/project/pipelines';
const CONSUMER_NAME = 'Pipelines#new';
const CONSUMER_LOG = '../logs/consumer.log';
const CONTRACT_DIR = '../contracts/project/pipelines/new';
const PROVIDER_NAME = 'POST create a new pipeline';
// API endpoint: /pipelines.json
pactWith(
{
consumer: CONSUMER_NAME,
provider: PROVIDER_NAME,
log: CONSUMER_LOG,
dir: CONTRACT_DIR,
},
(provider) => {
describe(PROVIDER_NAME, () => {
beforeEach(async () => {
const interaction = {
...NewProjectPipeline.scenario,
...NewProjectPipeline.request,
willRespondWith: NewProjectPipeline.success,
};
provider.addInteraction(interaction);
});
it('returns a successful body', async () => {
const newPipeline = await postProjectPipelines({
url: provider.mockService.baseUrl,
});
expect(newPipeline.status).toEqual(NewProjectPipeline.success.status);
});
});
},
);