From e3465a5dde695f316fec13dfde477660b402fdb8 Mon Sep 17 00:00:00 2001 From: Winnie Hellmann Date: Mon, 1 Apr 2019 18:55:57 +0000 Subject: [PATCH] Add jQuery matchers to Jest --- package.json | 1 + .../reports/components/report_section_spec.js | 2 +- spec/frontend/test_setup.js | 8 ++++++++ yarn.lock | 5 +++++ 4 files changed, 15 insertions(+), 1 deletion(-) rename spec/{javascripts => frontend}/reports/components/report_section_spec.js (98%) diff --git a/package.json b/package.json index 90fcfe01438..f80f9b3690b 100644 --- a/package.json +++ b/package.json @@ -144,6 +144,7 @@ "babel-plugin-rewire": "^1.2.0", "chalk": "^2.4.1", "commander": "^2.18.0", + "custom-jquery-matchers": "^2.1.0", "docdash": "^1.0.2", "eslint": "~5.9.0", "eslint-import-resolver-jest": "^2.1.1", diff --git a/spec/javascripts/reports/components/report_section_spec.js b/spec/frontend/reports/components/report_section_spec.js similarity index 98% rename from spec/javascripts/reports/components/report_section_spec.js rename to spec/frontend/reports/components/report_section_spec.js index b02af8baaec..3b609484b9e 100644 --- a/spec/javascripts/reports/components/report_section_spec.js +++ b/spec/frontend/reports/components/report_section_spec.js @@ -1,6 +1,6 @@ import Vue from 'vue'; import reportSection from '~/reports/components/report_section.vue'; -import mountComponent, { mountComponentWithSlots } from 'spec/helpers/vue_mount_component_helper'; +import mountComponent, { mountComponentWithSlots } from 'helpers/vue_mount_component_helper'; describe('Report section', () => { let vm; diff --git a/spec/frontend/test_setup.js b/spec/frontend/test_setup.js index 1e3c28e25eb..f09bcb5407e 100644 --- a/spec/frontend/test_setup.js +++ b/spec/frontend/test_setup.js @@ -1,4 +1,5 @@ import Vue from 'vue'; +import * as jqueryMatchers from 'custom-jquery-matchers'; import Translate from '~/vue_shared/translate'; import axios from '~/lib/utils/axios_utils'; import { initializeTestTimeout } from './helpers/timeout'; @@ -44,3 +45,10 @@ Object.assign(global, { preloadFixtures() {}, setFixtures: setHTMLFixture, }); + +// custom-jquery-matchers was written for an old Jest version, we need to make it compatible +Object.entries(jqueryMatchers).forEach(([matcherName, matcherFactory]) => { + expect.extend({ + [matcherName]: matcherFactory().compare, + }); +}); diff --git a/yarn.lock b/yarn.lock index 29f535830ea..846e29862f1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2742,6 +2742,11 @@ custom-event@~1.0.0: resolved "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.1.tgz#5d02a46850adf1b4a317946a3928fccb5bfd0425" integrity sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU= +custom-jquery-matchers@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/custom-jquery-matchers/-/custom-jquery-matchers-2.1.0.tgz#e5988fa9715c416b0986b372563f872d9e91e024" + integrity sha512-f2vQrncnwqbeDne9ag/BRjrmG9BxIEKnZ9Z8TyG5l9B8wwyINWd7LvuHDlTkMPqLTd3ghcvqFoTsxjhOP371JQ== + cyclist@~0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" -- GitLab