rspec Account
This commit is contained in:
parent
05cf6093d7
commit
aafe662acb
@ -49,7 +49,7 @@ module Gnucash
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def current_balance
|
def final_balance
|
||||||
return Value.new(0) unless @balances.size > 0
|
return Value.new(0) unless @balances.size > 0
|
||||||
@balances.last[:value]
|
@balances.last[:value]
|
||||||
end
|
end
|
||||||
|
40
spec/gnucash/account_spec.rb
Normal file
40
spec/gnucash/account_spec.rb
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
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
|
Loading…
x
Reference in New Issue
Block a user