import projectImportGitlab from '~/projects/project_import_gitlab_project'; describe('Import Gitlab project', () => { const pathName = 'my-project'; const projectName = 'My Project'; const setTestFixtures = (url) => { window.history.pushState({}, null, url); setFixtures(` `); projectImportGitlab(); }; beforeEach(() => { setTestFixtures(`?name=${projectName}&path=${pathName}`); }); afterEach(() => { window.history.pushState({}, null, ''); }); describe('project name', () => { it('should fill in the project name derived from the previously filled project name', () => { expect(document.querySelector('.js-project-name').value).toEqual(projectName); }); describe('empty path name', () => { it('derives the path name from the previously filled project name', () => { const alternateProjectName = 'My Alt Project'; const alternatePathName = 'my-alt-project'; setTestFixtures(`?name=${alternateProjectName}`); expect(document.querySelector('.js-path-name').value).toEqual(alternatePathName); }); }); }); describe('path name', () => { it('should fill in the path name derived from the previously filled path name', () => { expect(document.querySelector('.js-path-name').value).toEqual(pathName); }); describe('empty project name', () => { it('derives the project name from the previously filled path name', () => { const alternateProjectName = 'My Alt Project'; const alternatePathName = 'my-alt-project'; setTestFixtures(`?path=${alternatePathName}`); expect(document.querySelector('.js-project-name').value).toEqual(alternateProjectName); }); }); }); });