summaryrefslogtreecommitdiff
path: root/spec/models/packages/package_file_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/models/packages/package_file_spec.rb')
-rw-r--r--spec/models/packages/package_file_spec.rb15
1 files changed, 15 insertions, 0 deletions
diff --git a/spec/models/packages/package_file_spec.rb b/spec/models/packages/package_file_spec.rb
index ebb10e991ad..9cf998a0639 100644
--- a/spec/models/packages/package_file_spec.rb
+++ b/spec/models/packages/package_file_spec.rb
@@ -62,6 +62,21 @@ RSpec.describe Packages::PackageFile, type: :model do
end
end
+ describe '.for_rubygem_with_file_name' do
+ let_it_be(:project) { create(:project) }
+ let_it_be(:non_ruby_package) { create(:nuget_package, project: project, package_type: :nuget) }
+ let_it_be(:ruby_package) { create(:rubygems_package, project: project, package_type: :rubygems) }
+ let_it_be(:file_name) { 'other.gem' }
+
+ let_it_be(:non_ruby_file) { create(:package_file, :nuget, package: non_ruby_package, file_name: file_name) }
+ let_it_be(:gem_file1) { create(:package_file, :gem, package: ruby_package) }
+ let_it_be(:gem_file2) { create(:package_file, :gem, package: ruby_package, file_name: file_name) }
+
+ it 'returns the matching gem file only for ruby packages' do
+ expect(described_class.for_rubygem_with_file_name(project, file_name)).to contain_exactly(gem_file2)
+ end
+ end
+
describe '#update_file_store callback' do
let_it_be(:package_file) { build(:package_file, :nuget, size: nil) }