diff options
Diffstat (limited to 'spec/models/import_failure_spec.rb')
-rw-r--r-- | spec/models/import_failure_spec.rb | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/spec/models/import_failure_spec.rb b/spec/models/import_failure_spec.rb index d6574791a65..d286a4ad314 100644 --- a/spec/models/import_failure_spec.rb +++ b/spec/models/import_failure_spec.rb @@ -3,7 +3,28 @@ require 'spec_helper' describe ImportFailure do - describe "Associations" do + describe 'Scopes' do + let_it_be(:project) { create(:project) } + let_it_be(:correlation_id) { 'ABC' } + let_it_be(:hard_failure) { create(:import_failure, :hard_failure, project: project, correlation_id_value: correlation_id) } + let_it_be(:soft_failure) { create(:import_failure, :soft_failure, project: project, correlation_id_value: correlation_id) } + let_it_be(:unrelated_failure) { create(:import_failure, project: project) } + + it 'returns hard failures given a correlation ID' do + expect(ImportFailure.hard_failures_by_correlation_id(correlation_id)).to eq([hard_failure]) + end + + it 'orders hard failures by newest first' do + older_failure = hard_failure.dup + Timecop.freeze(1.day.before(hard_failure.created_at)) do + older_failure.save! + + expect(ImportFailure.hard_failures_by_correlation_id(correlation_id)).to eq([hard_failure, older_failure]) + end + end + end + + describe 'Associations' do it { is_expected.to belong_to(:project) } it { is_expected.to belong_to(:group) } end |