Sha256: af128a3f3926acf43cbb1de0640d09832ab7210c9b64a1f349c52db0cc64a364

Contents?: true

Size: 1.76 KB

Versions: 3

Compression:

Stored size: 1.76 KB

Contents

require "./spec/spec_helper"

describe Economic::CreditorContactProxy do
  let(:session) { make_session }
  subject { Economic::CreditorContactProxy.new(session) }

  describe ".new" do
    it "stores session" do
      expect(subject.session).to equal(session)
    end
  end

  describe ".build" do
    it "instantiates a new CreditorContact" do
      expect(subject.build).to be_instance_of(Economic::CreditorContact)
    end

    it "assigns the session to the CreditorContact" do
      expect(subject.build.session).to equal(session)
    end

    it "should not build a partial CreditorContact" do
      expect(subject.build).to_not be_partial
    end

    context "when owner is a Creditor" do
      let(:creditor) { make_creditor(:session => session) }
      subject { creditor.contacts }

      it "should use the Creditors session" do
        expect(subject.build.session).to eq(creditor.session)
      end

      it "should initialize with values from Creditor" do
        contact = subject.build
        expect(contact.creditor_handle).to eq(creditor.handle)
      end
    end
  end

  describe ".find" do
    it "gets contact data from API" do
      mock_request(
        "CreditorContact_GetData",
        {"entityHandle" => {"Id" => 42}},
        :success
      )
      subject.find(42)
    end

    it "returns CreditorContact object" do
      stub_request("CreditorContact_GetData", nil, :success)
      expect(
        subject.find(42)
      ).to be_instance_of(Economic::CreditorContact)
    end
  end

  describe "#find_by_name" do
    it "uses the FindByName command" do
      expect(Economic::Proxies::Actions::FindByName).to receive(:new).
        with(subject, "Bob").
        and_return(-> { "Result" })
      expect(subject.find_by_name("Bob")).to eq("Result")
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rconomic-0.7.0 spec/economic/proxies/creditor_contact_proxy_spec.rb
rconomic-0.6.1 spec/economic/proxies/creditor_contact_proxy_spec.rb
rconomic-0.6.0 spec/economic/proxies/creditor_contact_proxy_spec.rb