spec/lib/gdk/diagnostic/uptime_spec.rb (47 lines of code) (raw):

# frozen_string_literal: true require 'spec_helper' RSpec.describe GDK::Diagnostic::Uptime do include ShelloutHelper subject(:diagnostic) { described_class.new } before do allow(GDK::Machine).to receive(:uptime) { uptime } end context 'when uptime is less than 24 hours' do let(:uptime) { 5.33 * 60 * 60 } describe '#success?' do it { expect(diagnostic.success?).to be(true) } end describe '#detail' do it { expect(diagnostic.detail).to be_nil } end end context 'when uptime is more than 24 hours' do let(:uptime) { 26.05 * 60 * 60 } describe '#success?' do it 'returns false' do expect(diagnostic.success?).to be(false) end end describe '#detail' do it 'returns a warning message' do expect(diagnostic.detail).to eq <<~MESSAGE Your machine has been up for 26 hours. We highly recommended that you reboot your machine if you are encountering issues with GDK and it has been up for more than 24 hours. MESSAGE end end end context 'when uptime helper returns nil' do let(:uptime) { nil } describe '#success?' do it 'returns true' do expect(diagnostic.success?).to be(true) end end describe '#detail' do it 'returns nil' do expect(diagnostic.detail).to be_nil end end end end