Sha256: 7947331b6d99e1036df563fd2d6b5a3a707785b095fa51184fe2d41d253fb864

Contents?: true

Size: 1.52 KB

Versions: 3

Compression:

Stored size: 1.52 KB

Contents

require "./spec/spec_helper"

describe Economic::CashBook do
  let(:session) { make_session }
  subject { (i = Economic::CashBook.new(:id => 512, :number => 32)).tap { i.session = session } }

  it "inherits from Economic::Entity" do
    expect(Economic::CashBook.superclass).to eq(Economic::Entity)
  end

  describe "class methods" do
    subject { Economic::CashBook }

    describe ".proxy" do
      it "should return CashBookProxy" do
        expect(subject.proxy).to eq(Economic::CashBookProxy)
      end
    end
  end

  describe "#entries" do
    it "should return a cash book entry proxy" do
      expect(subject.entries).to be_a(Economic::CashBookEntryProxy)
      expect(subject.entries.owner).to eq(subject)
    end
  end

  describe "#book" do
    it "should book the cash book and return an invoice number" do
      mock_request("CashBook_Book", {"cashBookHandle" => {"Number" => 32}}, :success)
      expect(subject.book).to eq(832)
    end
  end

  describe "#save" do
    before :each do
      subject.persisted = true
    end

    it "should save it" do
      stub_request("CashBook_UpdateFromData", nil, :success)
      subject.save
    end

    it "builds and sends data to API" do
      subject.handle = {"Number" => 42}
      subject.name = "Bob"
      subject.number = 42
      mock_request(
        :cash_book_update_from_data, {
          "data" => {
            "Handle" => {"Number" => 42},
            "Name" => "Bob",
            "Number" => 42
          }
        },
        :success
      )
      subject.save
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

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