Fix preselected namespace when creating a project
This commit is contained in:
parent
2338ac73ad
commit
3f7b7a3b0f
3 changed files with 50 additions and 1 deletions
|
@ -1,4 +1,8 @@
|
|||
module NamespacesHelper
|
||||
def namespace_id_from(params)
|
||||
params.dig(:project, :namespace_id) || params[:namespace_id]
|
||||
end
|
||||
|
||||
def namespaces_options(selected = :current_user, display_path: false, extra_group: nil)
|
||||
groups = current_user.owned_groups + current_user.masters_groups
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
- if current_user.can_select_namespace?
|
||||
.input-group-addon
|
||||
= root_url
|
||||
= f.select :namespace_id, namespaces_options(params[:namespace_id] || :current_user, display_path: true), {}, {class: 'select2 js-select-namespace', tabindex: 1}
|
||||
= f.select :namespace_id, namespaces_options(namespace_id_from(params) || :current_user, display_path: true), {}, {class: 'select2 js-select-namespace', tabindex: 1}
|
||||
|
||||
- else
|
||||
.input-group-addon.static-namespace
|
||||
|
|
|
@ -19,6 +19,51 @@ feature "New project", feature: true do
|
|||
end
|
||||
end
|
||||
|
||||
context "Namespace selector" do
|
||||
context "with user namespace" do
|
||||
before do
|
||||
visit new_project_path
|
||||
end
|
||||
|
||||
it "selects the user namespace" do
|
||||
namespace = find("#project_namespace_id")
|
||||
|
||||
expect(namespace.text).to eq user.username
|
||||
end
|
||||
end
|
||||
|
||||
context "with group namespace" do
|
||||
let(:group) { create(:group, :private, owner: user) }
|
||||
|
||||
before do
|
||||
group.add_owner(user)
|
||||
visit new_project_path(namespace_id: group.id)
|
||||
end
|
||||
|
||||
it "selects the group namespace" do
|
||||
namespace = find("#project_namespace_id option[selected]")
|
||||
|
||||
expect(namespace.text).to eq group.name
|
||||
end
|
||||
|
||||
context "on validation error" do
|
||||
before do
|
||||
fill_in('project_path', with: 'private-group-project')
|
||||
choose('Internal')
|
||||
click_button('Create project')
|
||||
|
||||
expect(page).to have_css '.project-edit-errors .alert.alert-danger'
|
||||
end
|
||||
|
||||
it "selects the group namespace" do
|
||||
namespace = find("#project_namespace_id option[selected]")
|
||||
|
||||
expect(namespace.text).to eq group.name
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'Import project options' do
|
||||
before do
|
||||
visit new_project_path
|
||||
|
|
Loading…
Reference in a new issue