Passed
Push — main ( 7e0081...d3da7f )
by Gabriel
01:42
created

TrackOriginalTraitTest::test_syncOriginal()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 14
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 9
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 14
rs 9.9666
1
<?php
2
3
namespace ByTIC\DataObjects\Tests\Behaviors\TrackOriginal;
4
5
use ByTIC\DataObjects\Tests\AbstractTest;
6
use ByTIC\DataObjects\Tests\Fixtures\Models\Books\Book;
7
8
/**
9
 * Class TrackOriginalTraitTest
10
 * @package ByTIC\DataObjects\Tests\Behaviors\TrackOriginal
11
 */
12
class TrackOriginalTraitTest extends AbstractTest
13
{
14
    public function test_getDirty_with_empty_array()
15
    {
16
        $book = new Book();
17
        $book->name = 'name1';
0 ignored issues
show
Bug Best Practice introduced by
The property $name is declared protected in ByTIC\DataObjects\Tests\Fixtures\Models\Books\Book. Since you implement __set, consider adding a @property or @property-write.
Loading history...
18
        $book->title = 'title1';
0 ignored issues
show
Bug Best Practice introduced by
The property $title is declared protected in ByTIC\DataObjects\Tests\Fixtures\Models\Books\Book. Since you implement __set, consider adding a @property or @property-write.
Loading history...
19
20
        self::assertSame(['name' => 'Name1', 'title' => 'title1'], $book->getDirty());
21
    }
22
23
    public function test_getDirty_with_fields()
24
    {
25
        $book = new Book();
26
        $book->name = 'name1';
0 ignored issues
show
Bug Best Practice introduced by
The property $name is declared protected in ByTIC\DataObjects\Tests\Fixtures\Models\Books\Book. Since you implement __set, consider adding a @property or @property-write.
Loading history...
27
        $book->title = 'title1';
0 ignored issues
show
Bug Best Practice introduced by
The property $title is declared protected in ByTIC\DataObjects\Tests\Fixtures\Models\Books\Book. Since you implement __set, consider adding a @property or @property-write.
Loading history...
28
29
        self::assertSame(['name' => 'Name1'], $book->getDirty(['name']));
30
    }
31
32
    public function test_syncOriginal()
33
    {
34
        $book = new Book();
35
        self::assertSame([], $book->getOriginalData());
36
37
        $book->fill(['name' => 'name1', 'title' > 'title1']);
38
        self::assertSame([], $book->getOriginalData());
39
40
        $book->fillOriginal(['name' => 'name1', 'title' => 'title1']);
41
        self::assertSame(['name' => 'name1', 'title' => 'title1'], $book->getOriginalData());
42
43
        $book->fill(['name' => 'name2', 'title' => 'title2']);
44
        $book->syncOriginal();
45
        self::assertSame(['name' => 'Name2', 'title' => 'title2'], $book->getOriginalData());
46
    }
47
}
48