Sha256: 45586a9e4c0ebba1c35c126cfc3256f87c6a78136049c94844337b5dab772a46

Contents?: true

Size: 1.83 KB

Versions: 2

Compression:

Stored size: 1.83 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/spec_helper')

describe "CaseblocksApi" do
  describe "When authorising with CaseBlocks" do
    context "when I have an account" do
      it "should respond with and auth token" do
        CaseblocksAPI::Client.stub(:post).and_return({"token" => "some_token"})
        username = "mark@local.me"
        password = "password1"
        caseblocks = CaseblocksAPI::Client.new(username, password, "http://localhost:3000")
        caseblocks.auth_token.should eql "some_token"
      end
    end

    context "when I don't have an account" do
      it "should raise an error" do
        CaseblocksAPI::Client.stub(:post).and_return({"message" => "You must have an account to do that"})
        lambda { CaseblocksAPI::Client.new("blah@blah.com", "blahblah", "http://localhost:3000")}.should raise_error(CaseblocksAPI::AuthenticationException)
      end
    end
  end

  describe "when i'm authorised with caseblocks" do
    before do
      CaseblocksAPI::Client.stub(:post).and_return({"token" => "some_token"})
      username = "mark@local.me"
      password = "password1"
      @caseblocks = CaseblocksAPI::Client.new(username, password, "http://localhost:3000")
    end

    it "should return me the requested case type" do
      @caseblocks.stub(:get_casetype_id).and_return(2)
      case_type = @caseblocks.get_casetype_id("Some Case type")
      case_type.should eql 2
    end

    it "should let me create a case" do
      CaseblocksAPI::Client.stub(:post).and_return({"token" => "some_token"})
      params = {"title" => "This is a Case!", "due_at" => Time.now + 1000, "owned_by_id" => 1, "owned_by_type" => "CaseBlocks::User"}
      @caseblocks.stub(:create_case).and_return({"case" => {}})
      response = @caseblocks.create_case(params, "Tyre Shopper Order")
      response.should include("case")
    end
  end
 end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
caseblocks_api-0.2.3 spec/caseblocks_api_spec.rb
caseblocks_api-0.2.2 spec/caseblocks_api_spec.rb