mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-12-21 10:41:22 +00: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'));
|
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 Builder $query
|
||||||
* @param $amount
|
* @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(
|
League\FactoryMuffin\Facade::define(
|
||||||
'TransactionCurrency', [
|
'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