DeleteTest::delete_last_row()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 11
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
dl 0
loc 11
rs 9.4285
c 1
b 0
f 0
cc 1
eloc 8
nc 1
nop 0
1
<?php
2
3
namespace LarsJanssen\IncrementDecrement\Test\core;
4
5
use LarsJanssen\IncrementDecrement\Test\TestCase;
6
use LarsJanssen\IncrementDecrement\Test\TestModel;
7
8
class DeleteTest extends TestCase
9
{
10
    /** @test */
11
    public function delete_first_row()
12
    {
13
        $row = TestModel::first();
14
        $this->assertEquals(1, $row->order);
15
        $this->order->delete($row);
16
17
        $this->assertEquals(1, TestModel::where('name', 'work')->first()->order);
18
        $this->assertEquals(2, TestModel::where('name', 'children')->first()->order);
19
        $this->assertEquals(3, TestModel::where('name', 'ict')->first()->order);
20
        $this->assertEquals(4, TestModel::where('name', 'people')->first()->order);
21
    }
22
23
    /** @test */
24
    public function delete_last_row()
25
    {
26
        $row = TestModel::where('order', 5)->first();
27
        $this->assertEquals(5, $row->order);
28
        $this->order->delete($row);
29
30
        $this->assertEquals(1, TestModel::where('name', 'food')->first()->order);
31
        $this->assertEquals(2, TestModel::where('name', 'work')->first()->order);
32
        $this->assertEquals(3, TestModel::where('name', 'children')->first()->order);
33
        $this->assertEquals(4, TestModel::where('name', 'ict')->first()->order);
34
    }
35
36
    /** @test */
37
    public function delete_row_in_middle()
38
    {
39
        $row = TestModel::where('order', 3)->first();
40
        $this->assertEquals(3, $row->order);
41
        $this->order->delete($row);
42
43
        $this->assertEquals(1, TestModel::where('name', 'food')->first()->order);
44
        $this->assertEquals(2, TestModel::where('name', 'work')->first()->order);
45
        $this->assertEquals(3, TestModel::where('name', 'ict')->first()->order);
46
        $this->assertEquals(4, TestModel::where('name', 'people')->first()->order);
47
    }
48
}
49