예제 #1
0
 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);
 }
예제 #2
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();
 }