diff options
Diffstat (limited to 'spec/frontend/issue_spec.js')
-rw-r--r-- | spec/frontend/issue_spec.js | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/spec/frontend/issue_spec.js b/spec/frontend/issue_spec.js deleted file mode 100644 index 952ef54d286..00000000000 --- a/spec/frontend/issue_spec.js +++ /dev/null @@ -1,91 +0,0 @@ -import { getByText } from '@testing-library/dom'; -import MockAdapter from 'axios-mock-adapter'; -import { EVENT_ISSUABLE_VUE_APP_CHANGE } from '~/issuable/constants'; -import Issue from '~/issue'; -import axios from '~/lib/utils/axios_utils'; - -describe('Issue', () => { - let testContext; - let mock; - - beforeEach(() => { - mock = new MockAdapter(axios); - mock.onGet(/(.*)\/related_branches$/).reply(200, {}); - - testContext = {}; - testContext.issue = new Issue(); - }); - - afterEach(() => { - mock.restore(); - testContext.issue.dispose(); - }); - - const getIssueCounter = () => document.querySelector('.issue_counter'); - const getOpenStatusBox = () => - getByText(document, (_, el) => el.textContent.match(/Open/), { - selector: '.status-box-open', - }); - const getClosedStatusBox = () => - getByText(document, (_, el) => el.textContent.match(/Closed/), { - selector: '.status-box-issue-closed', - }); - - describe.each` - desc | isIssueInitiallyOpen | expectedCounterText - ${'with an initially open issue'} | ${true} | ${'1,000'} - ${'with an initially closed issue'} | ${false} | ${'1,002'} - `('$desc', ({ isIssueInitiallyOpen, expectedCounterText }) => { - beforeEach(() => { - if (isIssueInitiallyOpen) { - loadFixtures('issues/open-issue.html'); - } else { - loadFixtures('issues/closed-issue.html'); - } - - testContext.issueCounter = getIssueCounter(); - testContext.statusBoxClosed = getClosedStatusBox(); - testContext.statusBoxOpen = getOpenStatusBox(); - - testContext.issueCounter.textContent = '1,001'; - }); - - it(`has the proper visible status box when ${isIssueInitiallyOpen ? 'open' : 'closed'}`, () => { - if (isIssueInitiallyOpen) { - expect(testContext.statusBoxClosed).toHaveClass('hidden'); - expect(testContext.statusBoxOpen).not.toHaveClass('hidden'); - } else { - expect(testContext.statusBoxClosed).not.toHaveClass('hidden'); - expect(testContext.statusBoxOpen).toHaveClass('hidden'); - } - }); - - describe('when vue app triggers change', () => { - beforeEach(() => { - document.dispatchEvent( - new CustomEvent(EVENT_ISSUABLE_VUE_APP_CHANGE, { - detail: { - data: { id: 1 }, - isClosed: isIssueInitiallyOpen, - }, - }), - ); - }); - - it('displays correct status box', () => { - if (isIssueInitiallyOpen) { - expect(testContext.statusBoxClosed).not.toHaveClass('hidden'); - expect(testContext.statusBoxOpen).toHaveClass('hidden'); - } else { - expect(testContext.statusBoxClosed).toHaveClass('hidden'); - expect(testContext.statusBoxOpen).not.toHaveClass('hidden'); - } - }); - - it('updates issueCounter text', () => { - expect(testContext.issueCounter).toBeVisible(); - expect(testContext.issueCounter).toHaveText(expectedCounterText); - }); - }); - }); -}); |