diff options
Diffstat (limited to 'spec/frontend/projects/experiment_new_project_creation/components/app_spec.js')
-rw-r--r-- | spec/frontend/projects/experiment_new_project_creation/components/app_spec.js | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/spec/frontend/projects/experiment_new_project_creation/components/app_spec.js b/spec/frontend/projects/experiment_new_project_creation/components/app_spec.js index b4ae50341d4..204e7a7c394 100644 --- a/spec/frontend/projects/experiment_new_project_creation/components/app_spec.js +++ b/spec/frontend/projects/experiment_new_project_creation/components/app_spec.js @@ -1,5 +1,6 @@ import { GlBreadcrumb } from '@gitlab/ui'; import { shallowMount } from '@vue/test-utils'; +import { assignGitlabExperiment } from 'helpers/experimentation_helper'; import App from '~/projects/experiment_new_project_creation/components/app.vue'; import LegacyContainer from '~/projects/experiment_new_project_creation/components/legacy_container.vue'; import WelcomePage from '~/projects/experiment_new_project_creation/components/welcome.vue'; @@ -17,6 +18,57 @@ describe('Experimental new project creation app', () => { wrapper = null; }); + const findWelcomePage = () => wrapper.findComponent(WelcomePage); + const findPanel = (panelName) => + findWelcomePage() + .props() + .panels.find((p) => p.name === panelName); + const findPanelHeader = () => wrapper.find('h4'); + + describe('new_repo experiment', () => { + describe('when in the candidate variant', () => { + assignGitlabExperiment('new_repo', 'candidate'); + + it('has "repository" in the panel title', () => { + createComponent(); + + expect(findPanel('blank_project').title).toBe('Create blank project/repository'); + }); + + describe('when hash is not empty on load', () => { + beforeEach(() => { + window.location.hash = '#blank_project'; + createComponent(); + }); + + it('renders "project/repository"', () => { + expect(findPanelHeader().text()).toBe('Create blank project/repository'); + }); + }); + }); + + describe('when in the control variant', () => { + assignGitlabExperiment('new_repo', 'control'); + + it('has "project" in the panel title', () => { + createComponent(); + + expect(findPanel('blank_project').title).toBe('Create blank project'); + }); + + describe('when hash is not empty on load', () => { + beforeEach(() => { + window.location.hash = '#blank_project'; + createComponent(); + }); + + it('renders "project"', () => { + expect(findPanelHeader().text()).toBe('Create blank project'); + }); + }); + }); + }); + describe('with empty hash', () => { beforeEach(() => { createComponent(); |