diff options
author | Bob Van Landuyt <bob@vanlanduyt.co> | 2017-11-09 17:59:11 +0300 |
---|---|---|
committer | Bob Van Landuyt <bob@vanlanduyt.co> | 2017-11-14 18:57:41 +0300 |
commit | 022d8420ec0713909ff379e1e8d36c4e46bde3a3 (patch) | |
tree | b2cdf284c023430410239a2d41806e010615c0fa /spec/helpers/namespaces_helper_spec.rb | |
parent | fb7abd87daa8930682b05870361fe9dd112f050f (diff) |
Include child projects a user can manage in namespace dropdowns
These dropdown options are used for creating and transfering projects.
Diffstat (limited to 'spec/helpers/namespaces_helper_spec.rb')
-rw-r--r-- | spec/helpers/namespaces_helper_spec.rb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/spec/helpers/namespaces_helper_spec.rb b/spec/helpers/namespaces_helper_spec.rb index 8365b3f5538..460d3b6a7e4 100644 --- a/spec/helpers/namespaces_helper_spec.rb +++ b/spec/helpers/namespaces_helper_spec.rb @@ -29,5 +29,30 @@ describe NamespacesHelper do expect(options).not_to include(admin_group.name) expect(options).to include(user_group.name) end + + context 'when nested groups are available', :nested_groups do + it 'includes groups nested in groups the user can administer' do + allow(helper).to receive(:current_user).and_return(user) + child_group = create(:group, :private, parent: user_group) + + options = helper.namespaces_options + + expect(options).to include(child_group.name) + end + + it 'orders the groups correctly' do + allow(helper).to receive(:current_user).and_return(user) + child_group = create(:group, :private, parent: user_group) + other_child = create(:group, :private, parent: user_group) + sub_child = create(:group, :private, parent: child_group) + + expect(helper).to receive(:options_for_group) + .with([user_group, child_group, sub_child, other_child], anything) + .and_call_original + allow(helper).to receive(:options_for_group).and_call_original + + helper.namespaces_options + end + end end end |