Sha256: b8d7a5878e911c150468e2f594c125de20abe2640c788e85c02b9177cdfd6b5b

Contents?: true

Size: 1.49 KB

Versions: 1

Compression:

Stored size: 1.49 KB

Contents

require 'spec_helper'

describe TrelloCli::Requests::CreateCard do
  before do
    Trello.should_receive(:configure)
  end

  let(:members_mock) { double "members" }
  let(:trello_card_mock) { double 'trello card' }
  let(:member_struct) { Struct.new(:attributes) }

  before do
    @args = { :name        => 'name',
              :description => 'desc',
              :board_id    => '123',
              :list_id     => '321',
              :members     => ["user1", "user2"] }
    @options = { 'name'      => @args[:name],
                 'desc'      => @args[:description],
                 'idBoard'   => @args[:board_id],
                 'idList'    => @args[:list_id],
                 'idMembers' => "id1,id2" }
  end

  it "should create the requested card" do
    TrelloCli::Requests::Members.should_receive(:new).
                                 with("123").
                                 and_return members_mock
    @args[:members].each do |m|
      members_mock.should_receive(:member_exists_in_board?).with(m).and_return true
    end
    members_mock.should_receive(:find_member_by_username_in_board).
                 with("user1").and_return member_struct.new(id: "id1")
    members_mock.should_receive(:find_member_by_username_in_board).
                 with("user2").and_return member_struct.new(id: "id2")

    Trello::Card.should_receive(:new).
                 with(@options).
                 and_return trello_card_mock
    trello_card_mock.should_receive(:save)
    subject.create @args
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
trello_cli-0.3.0 spec/requests/create_card_spec.rb