diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-09-09 18:12:57 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-09-09 18:12:57 +0000 |
commit | 7c0e5472c80f1826b36916a95e6f9d84a7b68fe3 (patch) | |
tree | 91e24facb11469a31da6566ed5d59d7298984082 /spec/models/repository_spec.rb | |
parent | 427dbb30f037eb6697fc14852966ebff5d488a43 (diff) | |
download | gitlab-ce-7c0e5472c80f1826b36916a95e6f9d84a7b68fe3.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/models/repository_spec.rb')
-rw-r--r-- | spec/models/repository_spec.rb | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/spec/models/repository_spec.rb b/spec/models/repository_spec.rb index 04c263223b2..839f862322d 100644 --- a/spec/models/repository_spec.rb +++ b/spec/models/repository_spec.rb @@ -161,6 +161,33 @@ RSpec.describe Repository do end end + context 'semantic versioning sort' do + let(:version_two) { 'v2.0.0' } + let(:version_ten) { 'v10.0.0' } + + before do + repository.add_tag(user, version_two, repository.commit.id) + repository.add_tag(user, version_ten, repository.commit.id) + end + + after do + repository.rm_tag(user, version_two) + repository.rm_tag(user, version_ten) + end + + context 'desc' do + subject { repository.tags_sorted_by('version_desc').map(&:name) & (tags_to_compare + [version_two, version_ten]) } + + it { is_expected.to eq([version_ten, version_two, 'v1.1.0', 'v1.0.0']) } + end + + context 'asc' do + subject { repository.tags_sorted_by('version_asc').map(&:name) & (tags_to_compare + [version_two, version_ten]) } + + it { is_expected.to eq(['v1.0.0', 'v1.1.0', version_two, version_ten]) } + end + end + context 'unknown option' do subject { repository.tags_sorted_by('unknown_desc').map(&:name) & tags_to_compare } |