Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/frontend/issue_show/components/form_spec.js')
-rw-r--r--spec/frontend/issue_show/components/form_spec.js155
1 files changed, 0 insertions, 155 deletions
diff --git a/spec/frontend/issue_show/components/form_spec.js b/spec/frontend/issue_show/components/form_spec.js
deleted file mode 100644
index 28498cb90ec..00000000000
--- a/spec/frontend/issue_show/components/form_spec.js
+++ /dev/null
@@ -1,155 +0,0 @@
-import { GlAlert } from '@gitlab/ui';
-import { shallowMount } from '@vue/test-utils';
-import Autosave from '~/autosave';
-import DescriptionTemplate from '~/issue_show/components/fields/description_template.vue';
-import IssueTypeField from '~/issue_show/components/fields/type.vue';
-import formComponent from '~/issue_show/components/form.vue';
-import LockedWarning from '~/issue_show/components/locked_warning.vue';
-import eventHub from '~/issue_show/event_hub';
-
-jest.mock('~/autosave');
-
-describe('Inline edit form component', () => {
- let wrapper;
- const defaultProps = {
- canDestroy: true,
- formState: {
- title: 'b',
- description: 'a',
- lockedWarningVisible: false,
- },
- issuableType: 'issue',
- markdownPreviewPath: '/',
- markdownDocsPath: '/',
- projectPath: '/',
- projectId: 1,
- projectNamespace: '/',
- };
-
- afterEach(() => {
- wrapper.destroy();
- });
-
- const createComponent = (props) => {
- wrapper = shallowMount(formComponent, {
- propsData: {
- ...defaultProps,
- ...props,
- },
- });
- };
-
- const findDescriptionTemplate = () => wrapper.findComponent(DescriptionTemplate);
- const findIssuableTypeField = () => wrapper.findComponent(IssueTypeField);
- const findLockedWarning = () => wrapper.findComponent(LockedWarning);
- const findAlert = () => wrapper.findComponent(GlAlert);
-
- it('does not render template selector if no templates exist', () => {
- createComponent();
-
- expect(findDescriptionTemplate().exists()).toBe(false);
- });
-
- it('renders template selector when templates as array exists', () => {
- createComponent({
- issuableTemplates: [
- { name: 'test', id: 'test', project_path: 'test', namespace_path: 'test' },
- ],
- });
-
- expect(findDescriptionTemplate().exists()).toBe(true);
- });
-
- it('renders template selector when templates as hash exists', () => {
- createComponent({
- issuableTemplates: {
- test: [{ name: 'test', id: 'test', project_path: 'test', namespace_path: 'test' }],
- },
- });
-
- expect(findDescriptionTemplate().exists()).toBe(true);
- });
-
- it.each`
- issuableType | value
- ${'issue'} | ${true}
- ${'epic'} | ${false}
- `(
- 'when `issue_type` is set to "$issuableType" rendering the type select will be "$value"',
- ({ issuableType, value }) => {
- createComponent({
- issuableType,
- });
-
- expect(findIssuableTypeField().exists()).toBe(value);
- },
- );
-
- it('hides locked warning by default', () => {
- createComponent();
-
- expect(findLockedWarning().exists()).toBe(false);
- });
-
- it('shows locked warning if formState is different', () => {
- createComponent({ formState: { ...defaultProps.formState, lockedWarningVisible: true } });
-
- expect(findLockedWarning().exists()).toBe(true);
- });
-
- it('hides locked warning when currently saving', () => {
- createComponent({
- formState: { ...defaultProps.formState, updateLoading: true, lockedWarningVisible: true },
- });
-
- expect(findLockedWarning().exists()).toBe(false);
- });
-
- describe('autosave', () => {
- let spy;
-
- beforeEach(() => {
- spy = jest.spyOn(Autosave.prototype, 'reset');
- });
-
- it('initialized Autosave on mount', () => {
- createComponent();
-
- expect(Autosave).toHaveBeenCalledTimes(2);
- });
-
- it('calls reset on autosave when eventHub emits appropriate events', () => {
- createComponent();
-
- eventHub.$emit('close.form');
-
- expect(spy).toHaveBeenCalledTimes(2);
-
- eventHub.$emit('delete.issuable');
-
- expect(spy).toHaveBeenCalledTimes(4);
-
- eventHub.$emit('update.issuable');
-
- expect(spy).toHaveBeenCalledTimes(6);
- });
-
- describe('outdated description', () => {
- it('does not show warning if lock version from server is the same as the local lock version', () => {
- createComponent();
- expect(findAlert().exists()).toBe(false);
- });
-
- it('shows warning if lock version from server differs than the local lock version', async () => {
- Autosave.prototype.getSavedLockVersion.mockResolvedValue('lock version from local storage');
-
- createComponent({
- formState: { ...defaultProps.formState, lock_version: 'lock version from server' },
- });
-
- await wrapper.vm.$nextTick();
- expect(findAlert().exists()).toBe(true);
- });
- });
- });
-});