test/lib/troo/external/comment_test.rb in troo-0.0.7 vs test/lib/troo/external/comment_test.rb in troo-0.0.8
- old
+ new
@@ -1,97 +1,107 @@
-require_relative "../../../test_helper"
+require_relative '../../../test_helper'
module Troo
module External
describe Comment do
let(:described_class) { Comment }
let(:options) { {} }
- describe ".initialize" do
- subject { described_class.new("some_id", options) }
-
- it "assigns the external_id" do
- subject.instance_variable_get("@external_id").must_equal("some_id")
+ describe 'when the mode is board' do
+ before do
+ VCR.insert_cassette(:comments_by_board_id,
+ decode_compressed_response: true)
end
-
- it "assigns the options" do
- subject.instance_variable_get("@options").must_equal(options)
- end
- end
-
- describe "when the mode is board" do
- before { VCR.insert_cassette(:comments_by_board_id, decode_compressed_response: true) }
after { VCR.eject_cassette }
- let(:board_id) { "526d8e130a14a9d846001d96" }
+ let(:board_id) { '526d8e130a14a9d846001d96' }
let(:options) { { mode: :board } }
subject { described_class.fetch(board_id, options) }
- it "returns multiple comments" do
+ it 'returns multiple comments' do
subject.size.must_equal(2)
end
- context "when the board cannot be found" do
+ context 'when the board cannot be found' do
before { Trello::Board.stubs(:find).raises(Trello::Error) }
- it "returns an empty collection" do
+ it 'returns an empty collection' do
subject.must_equal([])
end
end
+
+ context 'when the access token is invalid' do
+ before do
+ Trello::Board.stubs(:find)
+ .raises(Trello::InvalidAccessToken)
+ end
+
+ subject { described_class.new(board_id, options).fetch }
+
+ it 'catches the exception and re-raises' do
+ proc { subject }.must_raise(Troo::InvalidAccessToken)
+ end
+ end
end
- describe "when the mode is list" do
- before { VCR.insert_cassette(:comments_by_list_id, decode_compressed_response: true) }
+ describe 'when the mode is list' do
+ before do
+ VCR.insert_cassette(:comments_by_list_id,
+ decode_compressed_response: true)
+ end
after { VCR.eject_cassette }
- let(:list_id) { "526d8e130a14a9d846001d97" }
+ let(:list_id) { '526d8e130a14a9d846001d97' }
let(:options) { { mode: :list } }
subject { described_class.fetch(list_id, options) }
- it "returns comments with the list_id" do
+ it 'returns comments with the list_id' do
subject.size.must_equal(0)
end
- context "when the list cannot be found" do
+ context 'when the list cannot be found' do
before { Trello::List.stubs(:find).raises(Trello::Error) }
- it "returns an empty collection" do
+ it 'returns an empty collection' do
subject.must_equal([])
end
end
end
- describe "when the mode is card" do
- before { VCR.insert_cassette(:comments_by_card_id, decode_compressed_response: true) }
+ describe 'when the mode is card' do
+ before do
+ VCR.insert_cassette(:comments_by_card_id,
+ decode_compressed_response: true)
+ end
after { VCR.eject_cassette }
- let(:card_id) { "526d8f19ddb279532e005259" }
+ let(:card_id) { '526d8f19ddb279532e005259' }
let(:options) { { mode: :card } }
subject { described_class.fetch(card_id, options) }
- it "returns a comment with the card_id" do
+ it 'returns a comment with the card_id' do
subject.size.must_equal(2)
end
- context "when the card cannot be found" do
+ context 'when the card cannot be found' do
before { Trello::Card.stubs(:find).raises(Trello::Error) }
- it "returns an empty collection" do
+ it 'returns an empty collection' do
subject.must_equal([])
end
end
end
- describe "when the mode is member" do
- let(:member_id) { "5195fdb5a8c01a2318004f5d" }
+ describe 'when the mode is member' do
+ let(:member_id) { '5195fdb5a8c01a2318004f5d' }
let(:options) { { mode: :member } }
subject { described_class.fetch(member_id, options) }
- it "returns an empty collection" do
+ it 'returns an empty collection' do
subject.must_equal([])
end
end
end
end