ruby-gnucash/spec/gnucash/account_spec.rb
2013-08-11 15:06:08 -04:00

41 lines
1.3 KiB
Ruby

module Gnucash
describe Account do
before(:all) do
# just read the file once
@book = Gnucash.open("spec/books/sample.gnucash")
@checking = @book.find_account_by_full_name("Assets::Current Assets::Checking Account")
@salary = @book.find_account_by_full_name("Income::Salary")
end
it "gives access to the account name" do
@salary.name.should == "Salary"
end
it "gives access to the fully-qualified account name" do
@checking.full_name.should == "Assets::Current Assets::Checking Account"
end
it "gives access to the final balance" do
@checking.final_balance.should == Value.new(19743000)
end
describe '.balance_on' do
it "returns 0 if the given date is before the account's first transaction" do
@checking.balance_on("2006-12-12").should == Value.new(0)
end
it "returns the final balance if the given date is after the account's last transaction" do
@checking.balance_on("2013-10-10").should == @checking.final_balance
end
it "returns the balance on the given date" do
@checking.balance_on("2012-12-25").should == Value.new(19688000)
end
it "includes transactions that occur on the given date" do
@checking.balance_on("2007-03-27").should == Value.new(780000)
end
end
end
end