Passed
Push — master ( 048cfc...89074f )
by
unknown
12:32
created

ExpenseClaimTest::testTransactionRelation()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 18
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 10
nc 1
nop 0
dl 0
loc 18
rs 9.9332
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace ApplicationTest\Model;
6
7
use Application\Model\AccountingDocument;
8
use Application\Model\ExpenseClaim;
9
use Application\Model\Transaction;
10
use Application\Model\User;
11
use PHPUnit\Framework\TestCase;
12
13
class ExpenseClaimTest extends TestCase
14
{
15
    public function testUserRelation(): void
16
    {
17
        $author = new User();
18
19
        $expense = new ExpenseClaim();
20
        $expense->setUser($author);
21
22
        $expense2 = new ExpenseClaim();
23
        $expense2->setUser($author);
24
25
        self::assertCount(2, $author->getExpenseClaims());
26
27
        $author2 = new User();
28
29
        $expense2->setUser($author2);
30
31
        self::assertCount(1, $author->getExpenseClaims());
32
        self::assertCount(1, $author2->getExpenseClaims());
33
    }
34
35
    public function testDocumentRelation(): void
36
    {
37
        $document = new AccountingDocument();
38
39
        $expense = new ExpenseClaim();
40
        $document->setExpenseClaim($expense);
41
42
        $expense2 = new ExpenseClaim();
43
44
        self::assertCount(1, $expense->getAccountingDocuments());
45
46
        $document->setExpenseClaim($expense2);
47
48
        self::assertCount(0, $expense->getAccountingDocuments());
49
        self::assertCount(1, $expense2->getAccountingDocuments());
50
    }
51
52
    public function testTransactionRelation(): void
53
    {
54
        $transaction = new Transaction();
55
        $transaction2 = new Transaction();
56
57
        $expense = new ExpenseClaim();
58
59
        $transaction->setExpenseClaim($expense);
60
        $transaction2->setExpenseClaim($expense);
61
62
        self::assertCount(2, $expense->getTransactions());
63
64
        $expense2 = new ExpenseClaim();
65
66
        $transaction2->setExpenseClaim($expense2);
67
68
        self::assertCount(1, $expense->getTransactions());
69
        self::assertCount(1, $expense2->getTransactions());
70
    }
71
}
72