Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/models/application_record_spec.rb')
-rw-r--r--spec/models/application_record_spec.rb14
1 files changed, 9 insertions, 5 deletions
diff --git a/spec/models/application_record_spec.rb b/spec/models/application_record_spec.rb
index 7e6ac351e68..24de46cb536 100644
--- a/spec/models/application_record_spec.rb
+++ b/spec/models/application_record_spec.rb
@@ -13,20 +13,24 @@ RSpec.describe ApplicationRecord do
describe '.safe_ensure_unique' do
let(:model) { build(:suggestion) }
+ let_it_be(:note) { create(:diff_note_on_merge_request) }
+
let(:klass) { model.class }
before do
- allow(model).to receive(:save).and_raise(ActiveRecord::RecordNotUnique)
+ allow(model).to receive(:save!).and_raise(ActiveRecord::RecordNotUnique)
end
it 'returns false when ActiveRecord::RecordNotUnique is raised' do
- expect(model).to receive(:save).once
- expect(klass.safe_ensure_unique { model.save }).to be_falsey
+ expect(model).to receive(:save!).once
+ model.note_id = note.id
+ expect(klass.safe_ensure_unique { model.save! }).to be_falsey
end
it 'retries based on retry count specified' do
- expect(model).to receive(:save).exactly(3).times
- expect(klass.safe_ensure_unique(retries: 2) { model.save }).to be_falsey
+ expect(model).to receive(:save!).exactly(3).times
+ model.note_id = note.id
+ expect(klass.safe_ensure_unique(retries: 2) { model.save! }).to be_falsey
end
end