Sha256: 65583a2635ee21b77d0f1d5feb9d6607b111ae447b95620074a103479195d3ba

Contents?: true

Size: 1.24 KB

Versions: 1

Compression:

Stored size: 1.24 KB

Contents

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

module Troo
  module Presenters
    describe Comment do
      let(:described_class) { Comment }
      let(:options) { {} }

      before do
        @card = Fabricate(:card)
        @comment = Fabricate(:comment)
        @member = Fabricate(:member)
      end

      after { database_cleanup }

      describe '#initialize' do
        subject { described_class.new(@card, options) }

        it 'assigns the card to an instance variable' do
          subject.instance_variable_get('@card').must_equal(@card)
        end

        it 'assigns the options to an instance variable' do
          subject.instance_variable_get('@options').must_equal(options)
        end
      end

      describe '#show' do
        subject { capture_io { described_class.show(@card, options) }.join }

        context 'when the card has comments' do
          it 'renders the view' do
            subject.must_match(/My Test Card/)
            subject.must_match(/My Test Comment/)
          end
        end

        context 'when the card has no comments' do
          before { @comment.delete }

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

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
troo-0.0.8 test/lib/troo/presenters/comment_test.rb