Sha256: 3ff178e9524b1e318d20cbd29b4c0ac06459f4501ef03ae0ab65da33c444ce56

Contents?: true

Size: 1.94 KB

Versions: 3

Compression:

Stored size: 1.94 KB

Contents

require "./spec/spec_helper"

describe Economic::Order do
  let(:session) { make_session }
  subject { Economic::Order.new(:session => session, :number => 512) }

  it "inherits from Economic::Entity" do
    expect(Economic::Order.ancestors).to include(Economic::Entity)
  end

  describe ".proxy" do
    it "should return a OrderProxy" do
      expect(subject.proxy).to be_instance_of(Economic::OrderProxy)
    end

    it "should return a proxy owned by session" do
      expect(subject.proxy.session).to eq(session)
    end
  end

  describe ".key" do
    it "should == :invoice" do
      expect(Economic::Order.key).to eq(:order)
    end
  end

  describe "#pdf" do
    it "gets PDF data from API" do
      mock_request("Order_GetPdf", {"orderHandle" => {"Number" => 512}}, :success)
      subject.pdf
    end

    it "decodes the base64Binary encoded data" do
      stub_request("Order_GetPdf", nil, :success)
      expect(subject.pdf).to eq("This is not really PDF data")
    end
  end

  describe "#attention" do
    let(:contact) {
      Economic::DebtorContact.new.tap do |c|
        c.session = session
        c.id = 5
      end
    }

    it "should be set- and gettable" do
      subject.attention = contact
      expect(subject.attention).to eq(contact)
    end

    it "updates the handle" do
      handle = Economic::Entity::Handle.new(:number => 42)
      contact.handle = handle
      subject.attention = contact
      expect(subject.attention_handle).to eq(handle)
    end
  end

  describe "#debtor" do
    let(:debtor) {
      Economic::Debtor.new.tap do |c|
        c.session = session
        c.number = 5
      end
    }

    it "should be set- and gettable" do
      subject.debtor = debtor
      expect(subject.debtor).to eq(debtor)
    end

    it "updates the handle" do
      handle = Economic::Entity::Handle.new(:number => 42)
      debtor.handle = handle
      subject.debtor = debtor
      expect(subject.debtor_handle).to eq(handle)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

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