diff options
author | Sarah German <sgerman@gitlab.com> | 2023-01-20 23:07:34 +0300 |
---|---|---|
committer | Achilleas Pipinellis <axil@gitlab.com> | 2023-01-20 23:07:34 +0300 |
commit | 3a62c8c59da6a892a661325d48424595f15d602c (patch) | |
tree | 6e431d7830d7d2ef0fef47f71a3fa4d65fa050d3 /spec | |
parent | f44e552801fe0af6ccba9c11a9ee5280ffb98e53 (diff) |
Fix check for current stable version
Diffstat (limited to 'spec')
-rw-r--r-- | spec/lib/helpers/versions_spec.rb | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/spec/lib/helpers/versions_spec.rb b/spec/lib/helpers/versions_spec.rb new file mode 100644 index 00000000..76f31ab6 --- /dev/null +++ b/spec/lib/helpers/versions_spec.rb @@ -0,0 +1,41 @@ +# frozen_string_literal: true + +require 'spec_helper' +require 'nanoc' +require 'helpers/versions' + +RSpec.describe Nanoc::Helpers::VersionsDropdown do + let(:mock_class) { Class.new { extend Nanoc::Helpers::VersionsDropdown } } + subject { mock_class.latest? } + + describe '#latest?' do + + before(:each) do + versions_mock = {:next=>"15.8",:current=>"15.7",:last_minor=>["15.6", "15.5"],:last_major=>["14.10", "13.12"]} + allow(mock_class).to receive(:get_current_stable_version).and_return(versions_mock[:current]) + stub_const('ENV', ENV.to_hash.merge('CI_DEFAULT_BRANCH' => 'main')) + end + + it 'returns correct value for pre-release version' do + stub_const('ENV', ENV.to_hash.merge('CI_COMMIT_REF_NAME' => 'main')) + expect(subject).to eq(true) + end + + it 'returns correct value for current stable version' do + stub_const('ENV', ENV.to_hash.merge('CI_COMMIT_REF_NAME' => '15.7')) + expect(subject).to eq(true) + end + + it 'returns correct value for last minor version' do + stub_const('ENV', ENV.to_hash.merge('CI_COMMIT_REF_NAME' => '15.6')) + expect(subject).to eq(false) + end + + it 'returns correct value for last major' do + stub_const('ENV', ENV.to_hash.merge('CI_COMMIT_REF_NAME' => '14.10')) + expect(subject).to eq(false) + end + + end + +end |