public function it_returns_balance_0_for_day_in_the_past_before_some_expenses_and_revenues_where_made(Revenue $revenue, Expense $expense) { $date = new DateTime('-15 days'); $revenue->getDate()->shouldBeCalled()->willReturn(new DateTime('-11 days')); $expense->getDate()->shouldBeCalled()->willReturn(new DateTime('-11 days')); $this->addRevenue($revenue)->addExpense($expense); $this->getBalance($date)->shouldReturn(0); }
/** * Get VAT from revenue/expense based on a date of interest and revenue/expense repeat status * * @param Expense|Revenue $moneyType * @param DateTime $date * @return double */ public function getVAT($moneyType, DateTime $date) { if ($moneyType->getVATCalculationMonth() != $date->format('n')) { return 0; } $moneyTypeDate = $moneyType->getDate() ?: $moneyType->getDate(true); if (!$moneyType->isRepeating() && $moneyTypeDate->format('Y') != $date->format('Y')) { return 0; } return $moneyType->getVAT(); }