From b401abb1b181df3d07c41866a13c2e55a0205f49 Mon Sep 17 00:00:00 2001 From: Julia Miocene Date: Thu, 30 Jan 2025 14:26:29 +0100 Subject: [PATCH] Add command line to the new project creation form --- .../projects/new_v2/components/app.vue | 16 ++++++ .../new_v2/components/command_line.vue | 53 +++++++++++++++++++ .../javascripts/projects/new_v2/index.js | 2 + locale/gitlab.pot | 9 ++++ .../projects/new_v2/components/app_spec.js | 16 ++++++ 5 files changed, 96 insertions(+) create mode 100644 app/assets/javascripts/projects/new_v2/components/command_line.vue diff --git a/app/assets/javascripts/projects/new_v2/components/app.vue b/app/assets/javascripts/projects/new_v2/components/app.vue index de5114309f1a6f..d198166a733058 100644 --- a/app/assets/javascripts/projects/new_v2/components/app.vue +++ b/app/assets/javascripts/projects/new_v2/components/app.vue @@ -1,11 +1,13 @@ + + diff --git a/app/assets/javascripts/projects/new_v2/index.js b/app/assets/javascripts/projects/new_v2/index.js index 92db791b3b6dbc..8552f8346d6cfe 100644 --- a/app/assets/javascripts/projects/new_v2/index.js +++ b/app/assets/javascripts/projects/new_v2/index.js @@ -26,6 +26,7 @@ export function initNewProjectForm() { namespaceId, userNamespaceId, trackLabel, + newProjectGuidelines, } = el.dataset; const props = { @@ -41,6 +42,7 @@ export function initNewProjectForm() { namespaceId, userNamespaceId, trackLabel, + newProjectGuidelines, }; const provide = { diff --git a/locale/gitlab.pot b/locale/gitlab.pot index 5526f4e8fe831e..f13b8bd1f836d4 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -44543,9 +44543,18 @@ msgstr "" msgid "ProjectMaintenance|You will receive an email notification when the process is complete. To remove old versions from the repository, run housekeeping." msgstr "" +msgid "ProjectNew|Push project from command line" +msgstr "" + msgid "ProjectNew|What do you want to create?" msgstr "" +msgid "ProjectNew|What does this command do?" +msgstr "" + +msgid "ProjectNew|You can also create a project from the command line" +msgstr "" + msgid "ProjectOverview|Create new fork" msgstr "" diff --git a/spec/frontend/projects/new_v2/components/app_spec.js b/spec/frontend/projects/new_v2/components/app_spec.js index b53adfdab4608d..99300f8f300218 100644 --- a/spec/frontend/projects/new_v2/components/app_spec.js +++ b/spec/frontend/projects/new_v2/components/app_spec.js @@ -1,5 +1,6 @@ import { shallowMountExtended } from 'helpers/vue_test_utils_helper'; import App from '~/projects/new_v2/components/app.vue'; +import CommandLine from '~/projects/new_v2/components/command_line.vue'; import MultiStepFormTemplate from '~/vue_shared/components/multi_step_form_template.vue'; describe('New project creation app', () => { @@ -17,6 +18,7 @@ describe('New project creation app', () => { }; const findMultyStepForm = () => wrapper.findComponent(MultiStepFormTemplate); + const findCommandLine = () => wrapper.findComponent(CommandLine); it('renders a form', () => { createComponent(); @@ -38,4 +40,18 @@ describe('New project creation app', () => { expect(wrapper.findByTestId('group-selector').exists()).toBe(false); }); }); + + describe('with command line', () => { + it('renders for a personal namespace', () => { + createComponent(); + + expect(findCommandLine().exists()).toBe(true); + }); + + it('does not renders for a group namespace', () => { + createComponent({ namespaceId: '13' }); + + expect(findCommandLine().exists()).toBe(false); + }); + }); }); -- GitLab