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/services/packages/npm/generate_metadata_service_spec.rb')
-rw-r--r--spec/services/packages/npm/generate_metadata_service_spec.rb16
1 files changed, 15 insertions, 1 deletions
diff --git a/spec/services/packages/npm/generate_metadata_service_spec.rb b/spec/services/packages/npm/generate_metadata_service_spec.rb
index f5d7f13d22c..ad3d4fde665 100644
--- a/spec/services/packages/npm/generate_metadata_service_spec.rb
+++ b/spec/services/packages/npm/generate_metadata_service_spec.rb
@@ -5,7 +5,8 @@ require 'spec_helper'
RSpec.describe ::Packages::Npm::GenerateMetadataService, feature_category: :package_registry do
using RSpec::Parameterized::TableSyntax
- let_it_be(:project) { create(:project) }
+ let_it_be(:group) { create(:group) }
+ let_it_be(:project) { create(:project, namespace: group) }
let_it_be(:package_name) { "@#{project.root_namespace.path}/test" }
let_it_be(:package1) { create(:npm_package, version: '2.0.4', project: project, name: package_name) }
let_it_be(:package2) { create(:npm_package, version: '2.0.6', project: project, name: package_name) }
@@ -156,6 +157,19 @@ RSpec.describe ::Packages::Npm::GenerateMetadataService, feature_category: :pack
end
end
end
+
+ context 'with duplicate tags' do
+ let_it_be(:project2) { create(:project, namespace: group) }
+ let_it_be(:package2) { create(:npm_package, version: '3.0.0', project: project2, name: package_name) }
+ let_it_be(:package_tag1) { create(:packages_tag, package: package1, name: 'latest') }
+ let_it_be(:package_tag2) { create(:packages_tag, package: package2, name: 'latest') }
+
+ let(:packages) { ::Packages::Package.for_projects([project.id, project2.id]).with_name(package_name) }
+
+ it "returns the tag of the latest package's version" do
+ expect(subject['latest']).to eq(package2.version)
+ end
+ end
end
end