60 lines
1.8 KiB
JavaScript
60 lines
1.8 KiB
JavaScript
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(`
|
|
<input class="js-path-name" />
|
|
<input class="js-project-name" />
|
|
`);
|
|
|
|
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);
|
|
});
|
|
});
|
|
});
|
|
});
|