Completed
Push — master ( bc3f80...57eaea )
by Lars
02:13
created

DeleteTest   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 41
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 3
lcom 1
cbo 1
dl 0
loc 41
rs 10
c 1
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A delete_first_row() 0 11 1
A delete_last_row() 0 11 1
A delete_row_in_middle() 0 11 1
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