mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-02-25 18:45:27 -06:00
Even more tests!
This commit is contained in:
@@ -125,14 +125,6 @@ class TransactionJournal extends Eloquent
|
||||
return $query->where('transaction_journals.date', '<=', $date->format('Y-m-d 00:00:00'));
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Builder $query
|
||||
*/
|
||||
public function scopeDefaultSorting(Builder $query)
|
||||
{
|
||||
$query->orderBy('date', 'DESC')->orderBy('transaction_journals.id', 'DESC');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Builder $query
|
||||
* @param $amount
|
||||
|
10
app/tests/factories/Transaction.php
Normal file
10
app/tests/factories/Transaction.php
Normal file
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
League\FactoryMuffin\Facade::define(
|
||||
'Transaction', [
|
||||
'account_id' => 'factory|Account',
|
||||
'transaction_journal_id' => 'factory|TransactionJournal',
|
||||
'description' => 'sentence',
|
||||
'amount' => 'numberBetween:1,100',
|
||||
]
|
||||
);
|
@@ -2,6 +2,15 @@
|
||||
|
||||
League\FactoryMuffin\Facade::define(
|
||||
'TransactionCurrency', [
|
||||
'code' => 'word',
|
||||
]
|
||||
'code' => function () {
|
||||
$code = '';
|
||||
for ($i = 0; $i < 3; $i++) {
|
||||
$code .= chr(rand(65, 90));
|
||||
}
|
||||
|
||||
return $code;
|
||||
},
|
||||
'name' => 'word',
|
||||
'symbol' => '$'
|
||||
]
|
||||
);
|
||||
|
8
app/tests/factories/TransactionGroup.php
Normal file
8
app/tests/factories/TransactionGroup.php
Normal file
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
League\FactoryMuffin\Facade::define(
|
||||
'TransactionGroup', [
|
||||
'user_id' => 'factory|User',
|
||||
'relation' => 'balance',
|
||||
]
|
||||
);
|
25
tests/unit/TransactionGroupTest.php
Normal file
25
tests/unit/TransactionGroupTest.php
Normal file
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
use League\FactoryMuffin\Facade as f;
|
||||
|
||||
/**
|
||||
* Class TransactionGroupTest
|
||||
*/
|
||||
class TransactionGroupTest extends TestCase
|
||||
{
|
||||
|
||||
public function setUp()
|
||||
{
|
||||
parent::setUp();
|
||||
}
|
||||
|
||||
public function tearDown()
|
||||
{
|
||||
parent::tearDown();
|
||||
}
|
||||
|
||||
public function testUser()
|
||||
{
|
||||
$group = f::create('TransactionGroup');
|
||||
$this->assertEquals($group->user_id, $group->user->id);
|
||||
}
|
||||
}
|
33
tests/unit/TransactionJournalTest.php
Normal file
33
tests/unit/TransactionJournalTest.php
Normal file
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
use League\FactoryMuffin\Facade as f;
|
||||
|
||||
/**
|
||||
* Class TransactionJournalTest
|
||||
*/
|
||||
class TransactionJournalTest extends TestCase
|
||||
{
|
||||
|
||||
public function setUp()
|
||||
{
|
||||
parent::setUp();
|
||||
}
|
||||
|
||||
public function tearDown()
|
||||
{
|
||||
parent::tearDown();
|
||||
}
|
||||
|
||||
public function testMorethan()
|
||||
{
|
||||
$journal = f::create('TransactionJournal');
|
||||
$transaction = f::create('Transaction');
|
||||
$other = clone $transaction;
|
||||
$journal->transactions()->save($transaction);
|
||||
$journal->transactions()->save($other);
|
||||
|
||||
$amount = floatval($transaction->amount);
|
||||
$amount++;
|
||||
|
||||
$this->assertCount(1, TransactionJournal::moreThan($amount)->get());
|
||||
}
|
||||
}
|
68
tests/unit/TransactionTest.php
Normal file
68
tests/unit/TransactionTest.php
Normal file
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
use League\FactoryMuffin\Facade as f;
|
||||
|
||||
/**
|
||||
* Class TransactionTest
|
||||
*/
|
||||
class TransactionTest extends TestCase
|
||||
{
|
||||
|
||||
public function setUp()
|
||||
{
|
||||
parent::setUp();
|
||||
}
|
||||
|
||||
public function tearDown()
|
||||
{
|
||||
parent::tearDown();
|
||||
}
|
||||
|
||||
public function testAccount()
|
||||
{
|
||||
$transaction = f::create('Transaction');
|
||||
|
||||
$this->assertCount(1, Transaction::accountIs($transaction->account)->get());
|
||||
}
|
||||
|
||||
public function testDateAfter()
|
||||
{
|
||||
$transaction = f::create('Transaction');
|
||||
$date = clone $transaction->transactionJournal->date;
|
||||
$date->subDay();
|
||||
|
||||
$this->assertCount(1, Transaction::after($date)->get());
|
||||
}
|
||||
|
||||
public function testDateBefore()
|
||||
{
|
||||
$transaction = f::create('Transaction');
|
||||
$date = clone $transaction->transactionJournal->date;
|
||||
$date->addDay();
|
||||
|
||||
$this->assertCount(1, Transaction::before($date)->get());
|
||||
}
|
||||
|
||||
public function testLessThan()
|
||||
{
|
||||
$transaction = f::create('Transaction');
|
||||
$amount = floatval($transaction->amount);
|
||||
$amount--;
|
||||
$this->assertCount(1, Transaction::moreThan($amount)->get());
|
||||
}
|
||||
|
||||
public function testMoreThan()
|
||||
{
|
||||
$transaction = f::create('Transaction');
|
||||
$amount = floatval($transaction->amount);
|
||||
$amount++;
|
||||
|
||||
$this->assertCount(1, Transaction::moreThan($amount)->get());
|
||||
}
|
||||
|
||||
public function testTransactionTypes()
|
||||
{
|
||||
$transaction = f::create('Transaction');
|
||||
$type = $transaction->transactionJournal->transactionType->type;
|
||||
$this->assertCount(1, Transaction::transactionTypes([$type])->get());
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user