Fix small issue with piggy banks.

This commit is contained in:
James Cole 2017-01-01 16:55:18 +01:00
parent ecbc0c1778
commit 04290bf9b6
No known key found for this signature in database
GPG Key ID: C16961E655E74B5E
8 changed files with 45 additions and 18 deletions

View File

@ -280,6 +280,7 @@ class PiggyBankController extends Controller
public function postAdd(Request $request, PiggyBankRepositoryInterface $repository, PiggyBank $piggyBank)
{
$amount = $request->get('amount');
Log::debug(sprintf('Found amount is %s', $amount));
/** @var Carbon $date */
$date = session('end', Carbon::now()->endOfMonth());
$leftOnAccount = $piggyBank->leftOnAccount($date);
@ -287,7 +288,7 @@ class PiggyBankController extends Controller
$leftToSave = bcsub($piggyBank->targetamount, $savedSoFar);
$maxAmount = strval(min(round($leftOnAccount, 12), round($leftToSave, 12)));
if (bccomp($amount, $maxAmount) === -1) {
if (bccomp($amount, $maxAmount) <= 0) {
$repetition = $piggyBank->currentRelevantRep();
$currentAmount = $repetition->currentamount ?? '0';
$repetition->currentamount = bcadd($currentAmount, $amount);

View File

@ -24,7 +24,7 @@ $(function () {
$('.addMoney').on('click', addMoney);
$('.removeMoney').on('click', removeMoney);
$('#sortable tbody').sortable(
$('#sortable-piggy tbody').sortable(
{
helper: fixHelper,
stop: stopSorting,

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
<table class="table table-hover table-condensed" id="sortable">
<table class="table table-hover table-condensed" id="sortable-piggy">
<tbody>
{% for piggyBank in piggyBanks %}
<tr data-id="{{ piggyBank.id }}">

View File

@ -9,12 +9,10 @@
<div class="col-lg-12 col-md-12 col-sm-12">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{{ 'piggyBanks'|_ }}</h3></div>
<div class="box-body table-responsive no-padding">
{% include 'list/piggy-banks' %}
<h3 class="box-title">{{ 'piggyBanks'|_ }}</h3>
</div>
<div class="box-footer">
<a href="{{ route('piggy-banks.create') }}" class="btn btn-success pull-right">{{ 'new_piggy_bank'|_ }}</a>
<div class="box-body">
{% include 'list/piggy-banks' %}
</div>
</div>
</div>

Binary file not shown.

View File

@ -8,6 +8,7 @@
*
* See the LICENSE file for details.
*/
use FireflyIII\Models\PiggyBank;
use FireflyIII\Repositories\PiggyBank\PiggyBankRepositoryInterface;
@ -131,6 +132,27 @@ class PiggyBankControllerTest extends TestCase
$this->assertSessionHas('success');
}
/**
* Add the exact amount to fill a piggy bank
*
* @covers \FireflyIII\Http\Controllers\PiggyBankController::postAdd
*/
public function testPostAddExact()
{
// find a piggy with current amount = 0.
$piggy = PiggyBank::leftJoin('piggy_bank_repetitions', 'piggy_bank_repetitions.piggy_bank_id', '=', 'piggy_banks.id')
->where('currentamount', 0)
->first(['piggy_banks.id', 'targetamount']);
$data = ['amount' => strval($piggy->targetamount)];
$this->be($this->user());
$this->call('post', route('piggy-banks.add', [$piggy->id]), $data);
$this->assertResponseStatus(302);
$this->assertRedirectedToRoute('piggy-banks.index');
$this->assertSessionHas('success');
}
/**
* @covers \FireflyIII\Http\Controllers\PiggyBankController::postRemove
*/

View File

@ -17,6 +17,9 @@ use FireflyIII\Models\TransactionType;
*/
class TransactionTypeTest extends TestCase
{
/**
* @covers \FireflyIII\Models\TransactionType::isDeposit
*/
public function testIsDeposit()
{
@ -24,18 +27,27 @@ class TransactionTypeTest extends TestCase
$this->assertTrue($transactionType->isDeposit());
}
/**
* @covers \FireflyIII\Models\TransactionType::isOpeningBalance
*/
public function testIsOpeningBalance()
{
$transactionType = TransactionType::whereType(TransactionType::OPENING_BALANCE)->first();
$this->assertTrue($transactionType->isOpeningBalance());
}
/**
* @covers \FireflyIII\Models\TransactionType::isTransfer
*/
public function testIsTransfer()
{
$transactionType = TransactionType::whereType(TransactionType::TRANSFER)->first();
$this->assertTrue($transactionType->isTransfer());
}
/**
* @covers \FireflyIII\Models\TransactionType::isWithdrawal
*/
public function testIsWithdrawal()
{
$transactionType = TransactionType::whereType(TransactionType::WITHDRAWAL)->first();