summaryrefslogtreecommitdiff
path: root/spec/frontend/issuable
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-01-17 09:10:25 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2023-01-17 09:10:25 +0000
commit5d54cf276e236fbb46540f1c6ffbe13fbdbbfd12 (patch)
tree3936238fe24eab519b8b6d6cdb9ae9e56b037c5b /spec/frontend/issuable
parent93f8e7f3aa02e4fb092fc3664c50e8382ddb34f0 (diff)
downloadgitlab-ce-5d54cf276e236fbb46540f1c6ffbe13fbdbbfd12.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/frontend/issuable')
-rw-r--r--spec/frontend/issuable/helpers.js18
-rw-r--r--spec/frontend/issuable/issuable_form_spec.js72
2 files changed, 14 insertions, 76 deletions
diff --git a/spec/frontend/issuable/helpers.js b/spec/frontend/issuable/helpers.js
deleted file mode 100644
index 632d69c2c88..00000000000
--- a/spec/frontend/issuable/helpers.js
+++ /dev/null
@@ -1,18 +0,0 @@
-export function getSaveableFormChildren(form, exclude = ['input.js-toggle-draft']) {
- const children = Array.from(form.children);
- const saveable = children.filter((e) => {
- const isFiltered = exclude.reduce(
- ({ isFiltered: filtered, element }, selector) => {
- return {
- isFiltered: filtered || element.matches(selector),
- element,
- };
- },
- { isFiltered: false, element: e },
- );
-
- return !isFiltered.isFiltered;
- });
-
- return saveable;
-}
diff --git a/spec/frontend/issuable/issuable_form_spec.js b/spec/frontend/issuable/issuable_form_spec.js
index 3e778e50fb8..28ec0e22d8b 100644
--- a/spec/frontend/issuable/issuable_form_spec.js
+++ b/spec/frontend/issuable/issuable_form_spec.js
@@ -4,8 +4,6 @@ import { setHTMLFixture, resetHTMLFixture } from 'helpers/fixtures';
import IssuableForm from '~/issuable/issuable_form';
import setWindowLocation from 'helpers/set_window_location_helper';
-import { getSaveableFormChildren } from './helpers';
-
jest.mock('~/autosave');
const createIssuable = (form) => {
@@ -20,7 +18,6 @@ describe('IssuableForm', () => {
setHTMLFixture(`
<form>
<input name="[title]" />
- <input type="checkbox" class="js-toggle-draft" />
<textarea name="[description]"></textarea>
</form>
`);
@@ -102,11 +99,10 @@ describe('IssuableForm', () => {
])('creates $id autosave when $id input exist', ({ id, input, selector }) => {
$form.append(input);
const $input = $form.find(selector);
+ const totalAutosaveFormFields = $form.children().length;
createIssuable($form);
- const children = getSaveableFormChildren($form[0]);
-
- expect(Autosave).toHaveBeenCalledTimes(children.length);
+ expect(Autosave).toHaveBeenCalledTimes(totalAutosaveFormFields);
expect(Autosave).toHaveBeenLastCalledWith(
$input.get(0),
['/', '', id],
@@ -157,17 +153,12 @@ describe('IssuableForm', () => {
});
});
- describe('draft', () => {
- let titleField;
- let toggleDraft;
-
+ describe('wip', () => {
beforeEach(() => {
instance = createIssuable($form);
- titleField = document.querySelector('input[name="[title]"]');
- toggleDraft = document.querySelector('input.js-toggle-draft');
});
- describe('removeDraft', () => {
+ describe('removeWip', () => {
it.each`
prefix
${'draFT: '}
@@ -178,25 +169,25 @@ describe('IssuableForm', () => {
${' (DrafT)'}
${'draft: [draft] (draft)'}
`('removes "$prefix" from the beginning of the title', ({ prefix }) => {
- titleField.value = `${prefix}The Issuable's Title Value`;
+ instance.titleField.val(`${prefix}The Issuable's Title Value`);
- instance.removeDraft();
+ instance.removeWip();
- expect(titleField.value).toBe("The Issuable's Title Value");
+ expect(instance.titleField.val()).toBe("The Issuable's Title Value");
});
});
- describe('addDraft', () => {
+ describe('addWip', () => {
it("properly adds the work in progress prefix to the Issuable's title", () => {
- titleField.value = "The Issuable's Title Value";
+ instance.titleField.val("The Issuable's Title Value");
- instance.addDraft();
+ instance.addWip();
- expect(titleField.value).toBe("Draft: The Issuable's Title Value");
+ expect(instance.titleField.val()).toBe("Draft: The Issuable's Title Value");
});
});
- describe('isMarkedDraft', () => {
+ describe('workInProgress', () => {
it.each`
title | expected
${'draFT: something is happening'} | ${true}
@@ -204,45 +195,10 @@ describe('IssuableForm', () => {
${'something is happening to drafts'} | ${false}
${'something is happening'} | ${false}
`('returns $expected with "$title"', ({ title, expected }) => {
- titleField.value = title;
+ instance.titleField.val(title);
- expect(instance.isMarkedDraft()).toBe(expected);
+ expect(instance.workInProgress()).toBe(expected);
});
});
-
- describe('readDraftStatus', () => {
- it.each`
- title | checked
- ${'Draft: my title'} | ${true}
- ${'my title'} | ${false}
- `(
- 'sets the draft checkbox checked status to $checked when the title is $title',
- ({ title, checked }) => {
- titleField.value = title;
-
- instance.readDraftStatus();
-
- expect(toggleDraft.checked).toBe(checked);
- },
- );
- });
-
- describe('writeDraftStatus', () => {
- it.each`
- checked | title
- ${true} | ${'Draft: my title'}
- ${false} | ${'my title'}
- `(
- 'updates the title to $title when the draft checkbox checked status is $checked',
- ({ checked, title }) => {
- titleField.value = 'my title';
- toggleDraft.checked = checked;
-
- instance.writeDraftStatus();
-
- expect(titleField.value).toBe(title);
- },
- );
- });
});
});