GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.

PayeeControllerTest   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 114
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Importance

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

4 Methods

Rating   Name   Duplication   Size   Complexity  
B it_can_access_all_payees_of_user() 0 37 1
A it_can_create_new_payees_from_kendoui_control() 0 15 1
A it_returns_last_used_category_for_payee() 0 21 1
A it_returns_last_used_subcategory_for_payee() 0 23 1
1
<?php
2
3
namespace Tests\Feature\Api;
4
5
use App\Models\Category;
6
use App\Models\Payee;
7
use App\Models\User;
8
use Tests\Features\FeatureTestCase;
9
10
class PayeeControllerTest extends FeatureTestCase
11
{
12
    /**
13
     * @test
14
     */
15
    public function it_can_access_all_payees_of_user()
16
    {
17
        // Arrange
18
        $payee1 = factory(Payee::class)->create(['user_id' => $this->user->id]);
19
        $payee2 = factory(Payee::class)->create(['user_id' => $this->user->id]);
20
21
        $anotherUser = factory(User::class)->create();
22
        $payee3 = factory(Payee::class)->create(['user_id' => $anotherUser->id]);
23
        $payee4 = factory(Payee::class)->create(['user_id' => $anotherUser->id]);
24
25
        $url = '/api/v1/payee';
26
27
        // Act
28
        $this->ensureAuthenticated();
29
        $response = $this->get($url);
30
31
        // Assert
32
        $response->assertStatus(200);
33
34
        // no payees of other users
35
        $response->assertJsonMissing([
36
            'id'   => $payee3->id,
37
            'name' => $payee3->name,
38
        ])->assertJsonMissing([
39
            'id'   => $payee4->id,
40
            'name' => $payee4->name,
41
        ]);
42
43
        // just user's payees
44
        $response->assertJsonFragment([
45
            'id'   => $payee1->id,
46
            'name' => $payee1->name,
47
        ])->assertJsonFragment([
48
            'id'   => $payee2->id,
49
            'name' => $payee2->name,
50
        ]);
51
    }
52
53
    /**
54
     * @test
55
     */
56
    public function it_can_create_new_payees_from_kendoui_control()
57
    {
58
        // Arrange
59
        $url = '/api/v1/payee';
60
61
        $data = ['name' => '7-Eleven'];
62
63
        // Act
64
        $this->ensureAuthenticated();
65
        $response = $this->post($url, $data);
66
67
        // Assert
68
        $response->assertStatus(200);
69
        $this->assertDatabaseHas('payees', ['name' => '7-Eleven']);
70
    }
71
72
    /**
73
     * @test
74
     */
75
    public function it_returns_last_used_category_for_payee()
76
    {
77
        // Arrange
78
        $url = '/api/v1/payee';
79
80
        $category = factory(Category::class)->create(['user_id' => $this->user->id]);
81
        $payee = factory(Payee::class)->create(['user_id' => $this->user->id, 'last_category_id' => $category->id]);
82
83
        // Act
84
        $this->ensureAuthenticated();
85
        $response = $this->get($url);
86
87
        // Assert
88
        $response->assertStatus(200);
89
90
        $response->assertJsonFragment([
91
            'id'          => $payee->id,
92
            'name'        => $payee->name,
93
            'category_id' => $category->id,
94
        ]);
95
    }
96
97
    /**
98
     * @test
99
     */
100
    public function it_returns_last_used_subcategory_for_payee()
101
    {
102
        // Arrange
103
        $url = '/api/v1/payee';
104
105
        $category = factory(Category::class)->create(['user_id' => $this->user->id]);
106
        $subcategory = factory(Category::class)->create(['user_id' => $this->user->id, 'parent_id' => $category->id]);
107
        $payee = factory(Payee::class)->create(['user_id' => $this->user->id, 'last_category_id' => $subcategory->id]);
108
109
        // Act
110
        $this->ensureAuthenticated();
111
        $response = $this->get($url);
112
113
        // Assert
114
        $response->assertStatus(200);
115
116
        $response->assertJsonFragment([
117
            'id'              => $payee->id,
118
            'name'            => $payee->name,
119
            'category_id'     => $category->id,
120
            'sub_category_id' => $subcategory->id,
121
        ]);
122
    }
123
}
124