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:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-01-18 00:08:29 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-01-18 00:08:29 +0300
commit40254b9ace2a74a3c9f1cc51a1b1d5e3e78c1ae9 (patch)
tree9b735ef933178be36d35088f3acab2d9b75dbbad /spec/javascripts/projects
parent22a0d312ae82e7dda3073d5d1a5a766d7641738d (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/javascripts/projects')
-rw-r--r--spec/javascripts/projects/project_import_gitlab_project_spec.js46
-rw-r--r--spec/javascripts/projects/project_new_spec.js30
2 files changed, 70 insertions, 6 deletions
diff --git a/spec/javascripts/projects/project_import_gitlab_project_spec.js b/spec/javascripts/projects/project_import_gitlab_project_spec.js
index 126f73103e0..3c94934699d 100644
--- a/spec/javascripts/projects/project_import_gitlab_project_spec.js
+++ b/spec/javascripts/projects/project_import_gitlab_project_spec.js
@@ -1,25 +1,59 @@
import projectImportGitlab from '~/projects/project_import_gitlab_project';
describe('Import Gitlab project', () => {
- let projectName;
- beforeEach(() => {
- projectName = 'project';
- window.history.pushState({}, null, `?path=${projectName}`);
+ 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('path name', () => {
+ describe('project name', () => {
it('should fill in the project name derived from the previously filled project name', () => {
- expect(document.querySelector('.js-path-name').value).toEqual(projectName);
+ 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);
+ });
});
});
});
diff --git a/spec/javascripts/projects/project_new_spec.js b/spec/javascripts/projects/project_new_spec.js
index 106a3ba94e4..7c6ff90aff6 100644
--- a/spec/javascripts/projects/project_new_spec.js
+++ b/spec/javascripts/projects/project_new_spec.js
@@ -172,4 +172,34 @@ describe('New Project', () => {
expect($projectPath.val()).toEqual('my-dash-delimited-awesome-project');
});
});
+
+ describe('derivesProjectNameFromSlug', () => {
+ const dummyProjectPath = 'my-awesome-project';
+ const dummyProjectName = 'Original Awesome Project';
+
+ beforeEach(() => {
+ projectNew.bindEvents();
+ $projectPath.val('').change();
+ });
+
+ it('converts slug to humanized project name', () => {
+ $projectPath.val(dummyProjectPath);
+
+ projectNew.onProjectPathChange($projectName, $projectPath);
+
+ expect($projectName.val()).toEqual('My Awesome Project');
+ });
+
+ it('does not convert slug to humanized project name if a project name already exists', () => {
+ $projectName.val(dummyProjectName);
+ $projectPath.val(dummyProjectPath);
+ projectNew.onProjectPathChange(
+ $projectName,
+ $projectPath,
+ $projectName.val().trim().length > 0,
+ );
+
+ expect($projectName.val()).toEqual(dummyProjectName);
+ });
+ });
});