diff --git a/.eslintignore b/.eslintignore index b7769ef89708e518341d2e0b5ee08f296eb50d6f..1d069e193855d3559132d411cb415959b0769d16 100644 --- a/.eslintignore +++ b/.eslintignore @@ -9,4 +9,3 @@ /sitespeed-result/ /fixtures/**/*.graphql spec/fixtures/**/*.graphql -**/contracts/consumer/ diff --git a/spec/contracts/consumer/.eslintrc.yml b/spec/contracts/consumer/.eslintrc.yml new file mode 100644 index 0000000000000000000000000000000000000000..e4b380714d3536eb7c853bd634a9b8cf2e74afb4 --- /dev/null +++ b/spec/contracts/consumer/.eslintrc.yml @@ -0,0 +1,7 @@ +--- +extends: + - 'plugin:@gitlab/jest' +settings: + import/core-modules: + - '@pact-foundation/pact' + - jest-pact diff --git a/spec/contracts/consumer/babel.config.json b/spec/contracts/consumer/babel.config.json new file mode 100644 index 0000000000000000000000000000000000000000..1320b9a3272a5a4a9adc81859d52c68660d1b50d --- /dev/null +++ b/spec/contracts/consumer/babel.config.json @@ -0,0 +1,3 @@ +{ + "presets": ["@babel/preset-env"] +} diff --git a/spec/contracts/consumer/endpoints/merge_requests.js b/spec/contracts/consumer/endpoints/merge_requests.js index 04e66c57dc9d51686f8577d5c713654ca242586b..ae4d5544df6d8543b3759eb5905a1800bb04bc92 100644 --- a/spec/contracts/consumer/endpoints/merge_requests.js +++ b/spec/contracts/consumer/endpoints/merge_requests.js @@ -1,42 +1,34 @@ -'use strict'; +import { request } from 'axios'; -const axios = require('axios'); +export function getMetadata(endpoint) { + const { url } = endpoint; -exports.getMetadata = (endpoint) => { - const url = endpoint.url; + return request({ + method: 'GET', + baseURL: url, + url: '/gitlab-org/gitlab-qa/-/merge_requests/1/diffs_metadata.json', + headers: { Accept: '*/*' }, + }).then((response) => response.data); +} - return axios - .request({ - method: 'GET', - baseURL: url, - url: '/gitlab-org/gitlab-qa/-/merge_requests/1/diffs_metadata.json', - headers: { Accept: '*/*' }, - }) - .then((response) => response.data); -}; +export function getDiscussions(endpoint) { + const { url } = endpoint; -exports.getDiscussions = (endpoint) => { - const url = endpoint.url; + return request({ + method: 'GET', + baseURL: url, + url: '/gitlab-org/gitlab-qa/-/merge_requests/1/discussions.json', + headers: { Accept: '*/*' }, + }).then((response) => response.data); +} - return axios - .request({ - method: 'GET', - baseURL: url, - url: '/gitlab-org/gitlab-qa/-/merge_requests/1/discussions.json', - headers: { Accept: '*/*' }, - }) - .then((response) => response.data); -}; +export function getDiffs(endpoint) { + const { url } = endpoint; -exports.getDiffs = (endpoint) => { - const url = endpoint.url; - - return axios - .request({ - method: 'GET', - baseURL: url, - url: '/gitlab-org/gitlab-qa/-/merge_requests/1/diffs_batch.json?page=0', - headers: { Accept: '*/*' }, - }) - .then((response) => response.data); -}; + return request({ + method: 'GET', + baseURL: url, + url: '/gitlab-org/gitlab-qa/-/merge_requests/1/diffs_batch.json?page=0', + headers: { Accept: '*/*' }, + }).then((response) => response.data); +} diff --git a/spec/contracts/consumer/fixtures/diffs.fixture.js b/spec/contracts/consumer/fixtures/diffs.fixture.js index 7dbe825b0935ac61e1d32fc94ce96edb847d28b3..cc2c054b08f49efbab63e3af678cdeea15f4ef3b 100644 --- a/spec/contracts/consumer/fixtures/diffs.fixture.js +++ b/spec/contracts/consumer/fixtures/diffs.fixture.js @@ -1,6 +1,6 @@ -'use strict'; +/* eslint-disable @gitlab/require-i18n-strings */ -const { Matchers } = require('@pact-foundation/pact'); +import { Matchers } from '@pact-foundation/pact'; const body = { diff_files: Matchers.eachLike({ @@ -48,9 +48,9 @@ const body = { context_lines_path: Matchers.string('/gitlab-qa-bot/...'), highlighted_diff_lines: Matchers.eachLike({ // The following values can also be null which is not supported - //line_code: Matchers.string('de3150c01c3a946a6168173c4116741379fe3579_1_1'), - //old_line: Matchers.integer(1), - //new_line: Matchers.integer(1), + // line_code: Matchers.string('de3150c01c3a946a6168173c4116741379fe3579_1_1'), + // old_line: Matchers.integer(1), + // new_line: Matchers.integer(1), text: Matchers.string('source'), rich_text: Matchers.string('<span></span>'), can_receive_suggestion: Matchers.boolean(true), @@ -70,7 +70,7 @@ const Diffs = { headers: { 'Content-Type': 'application/json; charset=utf-8', }, - body: body, + body, }, request: { @@ -86,4 +86,5 @@ const Diffs = { }, }; -exports.Diffs = Diffs; +export { Diffs }; +/* eslint-enable @gitlab/require-i18n-strings */ diff --git a/spec/contracts/consumer/fixtures/discussions.fixture.js b/spec/contracts/consumer/fixtures/discussions.fixture.js index c28b9bdd505665e3ac6fb539c153d0433829f41d..26f1d65f6630bad9f5f846f11109a9e8d0baee49 100644 --- a/spec/contracts/consumer/fixtures/discussions.fixture.js +++ b/spec/contracts/consumer/fixtures/discussions.fixture.js @@ -1,6 +1,6 @@ -'use strict'; +/* eslint-disable @gitlab/require-i18n-strings */ -const { Matchers } = require('@pact-foundation/pact'); +import { Matchers } from '@pact-foundation/pact'; const body = Matchers.eachLike({ id: Matchers.string('fd73763cbcbf7b29eb8765d969a38f7d735e222a'), @@ -67,7 +67,7 @@ const Discussions = { headers: { 'Content-Type': 'application/json; charset=utf-8', }, - body: body, + body, }, request: { @@ -82,4 +82,5 @@ const Discussions = { }, }; -exports.Discussions = Discussions; +export { Discussions }; +/* eslint-enable @gitlab/require-i18n-strings */ diff --git a/spec/contracts/consumer/fixtures/metadata.fixture.js b/spec/contracts/consumer/fixtures/metadata.fixture.js index 3fca6cf918194d7a1024e3e3e4f574f7a8afbc56..c19ca2175b3c53dedf9258eaaaae723747b32c89 100644 --- a/spec/contracts/consumer/fixtures/metadata.fixture.js +++ b/spec/contracts/consumer/fixtures/metadata.fixture.js @@ -1,6 +1,6 @@ -'use strict'; +/* eslint-disable @gitlab/require-i18n-strings */ -const { Matchers } = require('@pact-foundation/pact'); +import { Matchers } from '@pact-foundation/pact'; const body = { real_size: Matchers.string('1'), @@ -78,7 +78,7 @@ const Metadata = { headers: { 'Content-Type': 'application/json; charset=utf-8', }, - body: body, + body, }, request: { @@ -93,4 +93,5 @@ const Metadata = { }, }; -exports.Metadata = Metadata; +export { Metadata }; +/* eslint-enable @gitlab/require-i18n-strings */ diff --git a/spec/contracts/consumer/package.json b/spec/contracts/consumer/package.json index 6a427ff8a7bb001eb8de34c738a88bbc414279d7..6d3feaa6d4c870e01f5da36c55731d7da232bc34 100644 --- a/spec/contracts/consumer/package.json +++ b/spec/contracts/consumer/package.json @@ -13,5 +13,14 @@ }, "scripts": { "test": "jest --runInBand" + }, + "jest": { + "transform": { + "^.+\\.[t|j]sx?$": "babel-jest" + } + }, + "devDependencies": { + "@babel/preset-env": "^7.18.2", + "babel-jest": "^28.1.1" } } diff --git a/spec/contracts/consumer/specs/diffs.spec.js b/spec/contracts/consumer/specs/diffs.spec.js index b812461cb69e14e765068c1a35c7cb07e340cce3..6b1cefdbdbc5c2aea8d79497092d8e15ecd71fa8 100644 --- a/spec/contracts/consumer/specs/diffs.spec.js +++ b/spec/contracts/consumer/specs/diffs.spec.js @@ -1,9 +1,9 @@ -'use strict'; +/* eslint-disable @gitlab/require-i18n-strings */ -const { pactWith } = require('jest-pact'); +import { pactWith } from 'jest-pact'; -const { Diffs } = require('../fixtures/diffs.fixture'); -const { getDiffs } = require('../endpoints/merge_requests'); +import { Diffs } from '../fixtures/diffs.fixture'; +import { getDiffs } from '../endpoints/merge_requests'; pactWith( { @@ -34,3 +34,4 @@ pactWith( }); }, ); +/* eslint-enable @gitlab/require-i18n-strings */ diff --git a/spec/contracts/consumer/specs/discussions.spec.js b/spec/contracts/consumer/specs/discussions.spec.js index 304c240f7d35d5f7b811e4786318939dd5bf3d3c..2a5d0ba6267a894f3ccae9d4befa3a123d6214a5 100644 --- a/spec/contracts/consumer/specs/discussions.spec.js +++ b/spec/contracts/consumer/specs/discussions.spec.js @@ -1,9 +1,9 @@ -'use strict'; +/* eslint-disable @gitlab/require-i18n-strings */ -const { pactWith } = require('jest-pact'); +import { pactWith } from 'jest-pact'; -const { Discussions } = require('../fixtures/discussions.fixture'); -const { getDiscussions } = require('../endpoints/merge_requests'); +import { Discussions } from '../fixtures/discussions.fixture'; +import { getDiscussions } from '../endpoints/merge_requests'; pactWith( { @@ -34,3 +34,4 @@ pactWith( }); }, ); +/* eslint-enable @gitlab/require-i18n-strings */ diff --git a/spec/contracts/consumer/specs/metadata.spec.js b/spec/contracts/consumer/specs/metadata.spec.js index c49d4c354b16101d81aa1b53d1c23b26dfdc2abb..fc082cb6a4668f0b5fda062263d846e088b033a8 100644 --- a/spec/contracts/consumer/specs/metadata.spec.js +++ b/spec/contracts/consumer/specs/metadata.spec.js @@ -1,9 +1,9 @@ -'use strict'; +/* eslint-disable @gitlab/require-i18n-strings */ -const { pactWith } = require('jest-pact'); +import { pactWith } from 'jest-pact'; -const { Metadata } = require('../fixtures/metadata.fixture'); -const { getMetadata } = require('../endpoints/merge_requests'); +import { Metadata } from '../fixtures/metadata.fixture'; +import { getMetadata } from '../endpoints/merge_requests'; pactWith( { @@ -34,3 +34,4 @@ pactWith( }); }, ); +/* eslint-enable @gitlab/require-i18n-strings */