diff --git a/app/models/TransactionJournal.php b/app/models/TransactionJournal.php index 99bbe53ad7..ed2d3d2158 100644 --- a/app/models/TransactionJournal.php +++ b/app/models/TransactionJournal.php @@ -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 diff --git a/app/tests/factories/Transaction.php b/app/tests/factories/Transaction.php new file mode 100644 index 0000000000..42b056a423 --- /dev/null +++ b/app/tests/factories/Transaction.php @@ -0,0 +1,10 @@ + 'factory|Account', + 'transaction_journal_id' => 'factory|TransactionJournal', + 'description' => 'sentence', + 'amount' => 'numberBetween:1,100', + ] +); diff --git a/app/tests/factories/TransactionCurrency.php b/app/tests/factories/TransactionCurrency.php index 9804dd56c2..cad7372767 100644 --- a/app/tests/factories/TransactionCurrency.php +++ b/app/tests/factories/TransactionCurrency.php @@ -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' => '$' + ] ); diff --git a/app/tests/factories/TransactionGroup.php b/app/tests/factories/TransactionGroup.php new file mode 100644 index 0000000000..74e917a8ae --- /dev/null +++ b/app/tests/factories/TransactionGroup.php @@ -0,0 +1,8 @@ + 'factory|User', + 'relation' => 'balance', + ] +); diff --git a/tests/unit/TransactionGroupTest.php b/tests/unit/TransactionGroupTest.php new file mode 100644 index 0000000000..f6439a7638 --- /dev/null +++ b/tests/unit/TransactionGroupTest.php @@ -0,0 +1,25 @@ +assertEquals($group->user_id, $group->user->id); + } +} \ No newline at end of file diff --git a/tests/unit/TransactionJournalTest.php b/tests/unit/TransactionJournalTest.php new file mode 100644 index 0000000000..8b9e11946f --- /dev/null +++ b/tests/unit/TransactionJournalTest.php @@ -0,0 +1,33 @@ +transactions()->save($transaction); + $journal->transactions()->save($other); + + $amount = floatval($transaction->amount); + $amount++; + + $this->assertCount(1, TransactionJournal::moreThan($amount)->get()); + } +} \ No newline at end of file diff --git a/tests/unit/TransactionTest.php b/tests/unit/TransactionTest.php new file mode 100644 index 0000000000..3d89e735c5 --- /dev/null +++ b/tests/unit/TransactionTest.php @@ -0,0 +1,68 @@ +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()); + } +} \ No newline at end of file