mirror of
				https://github.com/firefly-iii/firefly-iii.git
				synced 2025-10-31 10:47:00 +00:00 
			
		
		
		
	Increased test coverage.
This commit is contained in:
		| @@ -44,7 +44,6 @@ class TransactionJournalModelTest extends TestCase | ||||
|     public function testGetActualAmountAttribute() | ||||
|     { | ||||
|         $journal = FactoryMuffin::create('FireflyIII\Models\TransactionJournal'); | ||||
|         $account = FactoryMuffin::create('FireflyIII\Models\Account'); | ||||
|  | ||||
|         $journal->transactions[0]->amount = '123.45'; | ||||
|         $journal->transactions[0]->save(); | ||||
| @@ -245,6 +244,8 @@ class TransactionJournalModelTest extends TestCase | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Multiple tags, withdrawal. | ||||
|      * | ||||
|      * @covers FireflyIII\Models\TransactionJournal::getAmountAttribute | ||||
|      * @covers FireflyIII\Models\TransactionJournal::amountByTag | ||||
|      * @covers FireflyIII\Models\TransactionJournal::amountByTags | ||||
| @@ -287,6 +288,151 @@ class TransactionJournalModelTest extends TestCase | ||||
|         $this->assertEquals('300', $withdrawal->amount); | ||||
|  | ||||
|  | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Multiple tags, transfer, and one is a balancing act | ||||
|      * | ||||
|      * @covers FireflyIII\Models\TransactionJournal::getAmountAttribute | ||||
|      * @covers FireflyIII\Models\TransactionJournal::amountByTag | ||||
|      * @covers FireflyIII\Models\TransactionJournal::amountByTags | ||||
|      */ | ||||
|     public function testGetAmountAttributeTagsTransfer() | ||||
|     { | ||||
|         $user = FactoryMuffin::create('FireflyIII\User'); | ||||
|         $this->be($user); | ||||
|  | ||||
|         // has two normal tags: | ||||
|         $tag          = FactoryMuffin::create('FireflyIII\Models\Tag'); | ||||
|         $tag->tagMode = 'balancingAct'; | ||||
|         $tag->save(); | ||||
|         $tag2          = FactoryMuffin::create('FireflyIII\Models\Tag'); | ||||
|         $tag2->tagMode = 'nothing'; | ||||
|         $tag2->save(); | ||||
|  | ||||
|         // make withdrawal | ||||
|         FactoryMuffin::create('FireflyIII\Models\TransactionType'); | ||||
|         FactoryMuffin::create('FireflyIII\Models\TransactionType'); | ||||
|         $transferType                  = FactoryMuffin::create('FireflyIII\Models\TransactionType'); | ||||
|         $transfer                      = FactoryMuffin::create('FireflyIII\Models\TransactionJournal'); | ||||
|         $transfer->transaction_type_id = $transferType->id; | ||||
|         $transfer->save(); | ||||
|  | ||||
|         // make accounts | ||||
|         $expense = FactoryMuffin::create('FireflyIII\Models\Account'); | ||||
|         $asset   = FactoryMuffin::create('FireflyIII\Models\Account'); | ||||
|  | ||||
|         $transfer->transactions[0]->amount     = -300; | ||||
|         $transfer->transactions[0]->account_id = $asset->id; | ||||
|         $transfer->transactions[0]->save(); | ||||
|  | ||||
|         $transfer->transactions[1]->amount     = 300; | ||||
|         $transfer->transactions[1]->account_id = $expense->id; | ||||
|         $transfer->transactions[1]->save(); | ||||
|  | ||||
|         // connect to tag: | ||||
|         $tag->transactionJournals()->save($transfer); | ||||
|         $tag2->transactionJournals()->save($transfer); | ||||
|  | ||||
|         $this->assertEquals('300', $transfer->amount); | ||||
|  | ||||
|  | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Multiple tags, transfer, and one is a advance payment. | ||||
|      * | ||||
|      * @covers FireflyIII\Models\TransactionJournal::getAmountAttribute | ||||
|      * @covers FireflyIII\Models\TransactionJournal::amountByTag | ||||
|      * @covers FireflyIII\Models\TransactionJournal::amountByTags | ||||
|      */ | ||||
|     public function testGetAmountAttributeTagsTransferAdvance() | ||||
|     { | ||||
|         $user = FactoryMuffin::create('FireflyIII\User'); | ||||
|         $this->be($user); | ||||
|  | ||||
|         // has two normal tags: | ||||
|         $tag          = FactoryMuffin::create('FireflyIII\Models\Tag'); | ||||
|         $tag->tagMode = 'advancePayment'; | ||||
|         $tag->save(); | ||||
|         $tag2          = FactoryMuffin::create('FireflyIII\Models\Tag'); | ||||
|         $tag2->tagMode = 'nothing'; | ||||
|         $tag2->save(); | ||||
|  | ||||
|         // make withdrawal | ||||
|         FactoryMuffin::create('FireflyIII\Models\TransactionType'); | ||||
|         FactoryMuffin::create('FireflyIII\Models\TransactionType'); | ||||
|         $transferType                  = FactoryMuffin::create('FireflyIII\Models\TransactionType'); | ||||
|         $transfer                      = FactoryMuffin::create('FireflyIII\Models\TransactionJournal'); | ||||
|         $transfer->transaction_type_id = $transferType->id; | ||||
|         $transfer->save(); | ||||
|  | ||||
|         // make accounts | ||||
|         $expense = FactoryMuffin::create('FireflyIII\Models\Account'); | ||||
|         $asset   = FactoryMuffin::create('FireflyIII\Models\Account'); | ||||
|  | ||||
|         $transfer->transactions[0]->amount     = -300; | ||||
|         $transfer->transactions[0]->account_id = $asset->id; | ||||
|         $transfer->transactions[0]->save(); | ||||
|  | ||||
|         $transfer->transactions[1]->amount     = 300; | ||||
|         $transfer->transactions[1]->account_id = $expense->id; | ||||
|         $transfer->transactions[1]->save(); | ||||
|  | ||||
|         // connect to tag: | ||||
|         $tag->transactionJournals()->save($transfer); | ||||
|         $tag2->transactionJournals()->save($transfer); | ||||
|  | ||||
|         $this->assertEquals('300', $transfer->amount); | ||||
|  | ||||
|  | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Multiple tags, withdrawal, and one is a balancingAct. | ||||
|      * | ||||
|      * @covers FireflyIII\Models\TransactionJournal::getAmountAttribute | ||||
|      * @covers FireflyIII\Models\TransactionJournal::amountByTag | ||||
|      * @covers FireflyIII\Models\TransactionJournal::amountByTags | ||||
|      */ | ||||
|     public function testGetAmountAttributeTagsWithdrawalAdvance() | ||||
|     { | ||||
|         $user = FactoryMuffin::create('FireflyIII\User'); | ||||
|         $this->be($user); | ||||
|  | ||||
|         // has two normal tags: | ||||
|         $tag          = FactoryMuffin::create('FireflyIII\Models\Tag'); | ||||
|         $tag->tagMode = 'balancingAct'; | ||||
|         $tag->save(); | ||||
|         $tag2          = FactoryMuffin::create('FireflyIII\Models\Tag'); | ||||
|         $tag2->tagMode = 'nothing'; | ||||
|         $tag2->save(); | ||||
|  | ||||
|         // make withdrawal | ||||
|         $withdrawalType = FactoryMuffin::create('FireflyIII\Models\TransactionType'); | ||||
|         $withdrawal = FactoryMuffin::create('FireflyIII\Models\TransactionJournal'); | ||||
|         $withdrawal->transaction_type_id = $withdrawalType->id; | ||||
|         $withdrawal->save(); | ||||
|  | ||||
|         // make accounts | ||||
|         $expense = FactoryMuffin::create('FireflyIII\Models\Account'); | ||||
|         $asset   = FactoryMuffin::create('FireflyIII\Models\Account'); | ||||
|  | ||||
|         $withdrawal->transactions[0]->amount     = -300; | ||||
|         $withdrawal->transactions[0]->account_id = $asset->id; | ||||
|         $withdrawal->transactions[0]->save(); | ||||
|  | ||||
|         $withdrawal->transactions[1]->amount     = 300; | ||||
|         $withdrawal->transactions[1]->account_id = $expense->id; | ||||
|         $withdrawal->transactions[1]->save(); | ||||
|  | ||||
|         // connect to tag: | ||||
|         $tag->transactionJournals()->save($withdrawal); | ||||
|         $tag2->transactionJournals()->save($withdrawal); | ||||
|  | ||||
|         $this->assertEquals('300', $withdrawal->amount); | ||||
|  | ||||
|  | ||||
|     } | ||||
|  | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user