gitlab-org--gitlab-foss/spec/helpers/version_check_helper_spec.rb
Robert Speicher 04a3e48c2a
Use class methods for VersionCheck
All of these methods are stateless, there was no point to have them as
instance methods.

Mostly this allows us to remove an `allow_any_instance_of` usage.
2018-12-14 13:56:03 -06:00

34 lines
1.2 KiB
Ruby

require 'spec_helper'
describe VersionCheckHelper do
describe '#version_status_badge' do
it 'should return nil if not dev environment and not enabled' do
allow(Rails.env).to receive(:production?) { false }
allow(Gitlab::CurrentSettings.current_application_settings).to receive(:version_check_enabled) { false }
expect(helper.version_status_badge).to be(nil)
end
context 'when production and enabled' do
before do
allow(Rails.env).to receive(:production?) { true }
allow(Gitlab::CurrentSettings.current_application_settings).to receive(:version_check_enabled) { true }
allow(VersionCheck).to receive(:url) { 'https://version.host.com/check.svg?gitlab_info=xxx' }
end
it 'should return an image tag' do
expect(helper.version_status_badge).to start_with('<img')
end
it 'should have a js prefixed css class' do
expect(helper.version_status_badge)
.to match(/class="js-version-status-badge lazy"/)
end
it 'should have a VersionCheck url as the src' do
expect(helper.version_status_badge)
.to include(%{src="https://version.host.com/check.svg?gitlab_info=xxx"})
end
end
end
end