summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStan Hu <stanhu@gmail.com>2017-12-12 23:44:48 +0000
committerLUKE BENNETT <lbennett@gitlab.com>2017-12-13 13:58:31 +0000
commit16fcf967c8e791fd125acfdc8c21f958e41e0a41 (patch)
tree46e4f281b272c80248ac8a85f5255d6408bd77a4
parent0f2bc3fbb3c150d861d61a0a41837a9ab072dc7a (diff)
downloadgitlab-ce-16fcf967c8e791fd125acfdc8c21f958e41e0a41.tar.gz
Merge branch 'mk-fix-leaky-spec' into 'master'
CE Backport - Fix order-dependent spec failure by avoiding monkeypatching See merge request gitlab-org/gitlab-ce!15893 (cherry picked from commit 31fa9313991881258b4697cb507cfc8ab205b7dc) acde0e3f Fix spec by avoiding monkeypatching
-rw-r--r--spec/lib/gitlab/background_migration/populate_untracked_uploads_spec.rb17
1 files changed, 13 insertions, 4 deletions
diff --git a/spec/lib/gitlab/background_migration/populate_untracked_uploads_spec.rb b/spec/lib/gitlab/background_migration/populate_untracked_uploads_spec.rb
index b80df6956b0..be45c00dfe6 100644
--- a/spec/lib/gitlab/background_migration/populate_untracked_uploads_spec.rb
+++ b/spec/lib/gitlab/background_migration/populate_untracked_uploads_spec.rb
@@ -182,13 +182,22 @@ describe Gitlab::BackgroundMigration::PopulateUntrackedUploads, :sidekiq do
end
context 'for a pre-Markdown Note attachment file path' do
- class Note < ActiveRecord::Base
- has_many :uploads, as: :model, dependent: :destroy
+ let(:model) { create(:note, :with_attachment) }
+ let!(:expected_upload_attrs) { Upload.where(model_type: 'Note', model_id: model.id).first.attributes.slice('path', 'uploader', 'size', 'checksum') }
+ let!(:untracked_file) { untracked_files_for_uploads.create!(path: expected_upload_attrs['path']) }
+
+ before do
+ Upload.where(model_type: 'Note', model_id: model.id).delete_all
end
- let(:model) { create(:note, :with_attachment) }
+ # Can't use the shared example because Note doesn't have an `uploads` association
+ it 'creates an Upload record' do
+ expect do
+ subject.perform(1, untracked_files_for_uploads.last.id)
+ end.to change { Upload.where(model_type: 'Note', model_id: model.id).count }.from(0).to(1)
- it_behaves_like 'non_markdown_file'
+ expect(Upload.where(model_type: 'Note', model_id: model.id).first.attributes).to include(expected_upload_attrs)
+ end
end
context 'for a user avatar file path' do