Sha256: 4bceaa243961eea361f48f234f0bed6607d229283d8e8ea1bf9bb0eb08c96b48

Contents?: true

Size: 1.19 KB

Versions: 1

Compression:

Stored size: 1.19 KB

Contents

require_relative '../../../../test_helper'

module Troo
  module Commands
    describe Status do
      let(:described_class) { Status }
      let(:klass) { Troo::Board }
      let(:default) { true }

      before { API::Client.stubs(:perform) }

      describe '.dispatch' do
        subject { described_class.dispatch(klass) }

        before { Fabricate(:board, default: default) }
        after  { database_cleanup }

        context 'when a default is set' do
          it 'returns a polite message' do
            subject.must_match(/1 board found/)
          end

          it 'returns the name of the resource' do
            subject.must_match(/My Test Board/)
          end
        end

        context 'when no default is set' do
          let(:default) { false }

          context 'and the resource exists' do
            it 'returns a polite message' do
              subject.must_match(/No default board set/)
            end
          end

          context 'and no resources exist' do
            before { klass.stubs(:count).returns(0) }

            it 'returns a polite message' do
              subject.must_match(/No boards found/)
            end
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
troo-0.0.12 test/lib/troo/cli/commands/status_test.rb