summaryrefslogtreecommitdiff
path: root/spec/helpers/groups_helper_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/helpers/groups_helper_spec.rb')
-rw-r--r--spec/helpers/groups_helper_spec.rb44
1 files changed, 44 insertions, 0 deletions
diff --git a/spec/helpers/groups_helper_spec.rb b/spec/helpers/groups_helper_spec.rb
index 0790dc1b674..08b25d64b43 100644
--- a/spec/helpers/groups_helper_spec.rb
+++ b/spec/helpers/groups_helper_spec.rb
@@ -369,4 +369,48 @@ RSpec.describe GroupsHelper do
it { is_expected.to be_falsey }
end
end
+
+ describe '#show_invite_banner?' do
+ let_it_be(:current_user) { create(:user) }
+ let_it_be_with_refind(:group) { create(:group) }
+ let_it_be(:users) { [current_user, create(:user)] }
+
+ subject { helper.show_invite_banner?(group) }
+
+ before do
+ allow(helper).to receive(:current_user) { current_user }
+ allow(helper).to receive(:can?).with(current_user, :admin_group, group).and_return(can_admin_group)
+ stub_feature_flags(invite_your_teammates_banner_a: feature_enabled_flag)
+ users.take(group_members_count).each { |user| group.add_guest(user) }
+ end
+
+ using RSpec::Parameterized::TableSyntax
+
+ where(:feature_enabled_flag, :can_admin_group, :group_members_count, :expected_result) do
+ true | true | 1 | true
+ true | false | 1 | false
+ false | true | 1 | false
+ false | false | 1 | false
+ true | true | 2 | false
+ true | false | 2 | false
+ false | true | 2 | false
+ false | false | 2 | false
+ end
+
+ with_them do
+ context 'when the group was just created' do
+ before do
+ flash[:notice] = "Group #{group.name} was successfully created"
+ end
+
+ it { is_expected.to be_falsey }
+ end
+
+ context 'when no flash message' do
+ it 'returns the expected result' do
+ expect(subject).to eq(expected_result)
+ end
+ end
+ end
+ end
end