diff options
Diffstat (limited to 'spec/support/shared_examples/quick_actions/issuable/max_issuable_examples.rb')
-rw-r--r-- | spec/support/shared_examples/quick_actions/issuable/max_issuable_examples.rb | 75 |
1 files changed, 43 insertions, 32 deletions
diff --git a/spec/support/shared_examples/quick_actions/issuable/max_issuable_examples.rb b/spec/support/shared_examples/quick_actions/issuable/max_issuable_examples.rb index e725de8ad31..f5431b29ee2 100644 --- a/spec/support/shared_examples/quick_actions/issuable/max_issuable_examples.rb +++ b/spec/support/shared_examples/quick_actions/issuable/max_issuable_examples.rb @@ -12,49 +12,60 @@ RSpec.shared_examples 'does not exceed the issuable size limit' do project.add_maintainer(user3) end - context 'when feature flag is turned on' do - context "when the number of users of issuable does exceed the limit" do - before do - stub_const("Issuable::MAX_NUMBER_OF_ASSIGNEES_OR_REVIEWERS", 2) + context "when the number of users of issuable does exceed the limit" do + before do + stub_const("Issuable::MAX_NUMBER_OF_ASSIGNEES_OR_REVIEWERS", 2) + end + + it 'will not add more than the allowed number of users' do + allow_next_instance_of(update_service) do |service| + expect(service).not_to receive(:execute) end - it 'will not add more than the allowed number of users' do - allow_next_instance_of(update_service) do |service| - expect(service).not_to receive(:execute) - end + note = described_class.new(project, user, opts.merge( + note: note_text, + noteable_type: noteable_type, + noteable_id: issuable.id, + confidential: false + )).execute - note = described_class.new(project, user, opts.merge( - note: note_text, - noteable_type: noteable_type, - noteable_id: issuable.id, - confidential: false - )).execute + expect(note.errors[:validation]).to match_array([validation_message]) + end + end - expect(note.errors[:validation]).to match_array([validation_message]) - end + context "when the number of users does not exceed the limit" do + before do + stub_const("Issuable::MAX_NUMBER_OF_ASSIGNEES_OR_REVIEWERS", 6) end - context "when the number of users does not exceed the limit" do - before do - stub_const("Issuable::MAX_NUMBER_OF_ASSIGNEES_OR_REVIEWERS", 6) + it 'calls execute and does not return an error' do + allow_next_instance_of(update_service) do |service| + expect(service).to receive(:execute).and_call_original end - it 'calls execute and does not return an error' do - allow_next_instance_of(update_service) do |service| - expect(service).to receive(:execute).and_call_original - end - - note = described_class.new(project, user, opts.merge( - note: note_text, - noteable_type: noteable_type, - noteable_id: issuable.id, - confidential: false - )).execute + note = described_class.new(project, user, opts.merge( + note: note_text, + noteable_type: noteable_type, + noteable_id: issuable.id, + confidential: false + )).execute - expect(note.errors[:validation]).to be_empty - end + expect(note.errors[:validation]).to be_empty end end +end + +RSpec.shared_examples 'does not exceed the issuable size limit with ff off' do + let(:user1) { create(:user) } + let(:user2) { create(:user) } + let(:user3) { create(:user) } + + before do + project.add_maintainer(user) + project.add_maintainer(user1) + project.add_maintainer(user2) + project.add_maintainer(user3) + end context 'when feature flag is off' do before do |