Completed
Push — master ( cc3d38...9bf9b4 )
by Jitendra
11s
created

MicroControllerTest   A

Complexity

Total Complexity 9

Size/Duplication

Total Lines 67
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 9
dl 0
loc 67
rs 10
c 0
b 0
f 0

9 Methods

Rating   Name   Duplication   Size   Complexity  
A testIndexAction() 0 6 1
A testDbAction() 0 5 1
A testValidationAction() 0 8 1
A testCorsHeaderAction() 0 5 1
A testLoggerAction() 0 6 1
A testValidationPass() 0 4 1
A testMailAction() 0 5 1
A testCorsAction() 0 6 1
A testDiAction() 0 4 1
1
<?php
2
3
namespace PhalconExt\Test;
4
5
class MicroControllerTest extends WebTestCase
6
{
7
    public function testIndexAction()
8
    {
9
        $this->doRequest('/')
10
            ->assertResponseOk()
11
            ->assertResponseContains('This view is rendered by Twig engine in MICRO mode')
12
            ->assertResponseContains('Check features/extensions');
13
    }
14
15
    public function testDbAction()
16
    {
17
        $this->doRequest('/db')
18
            ->assertResponseOk()
19
            ->assertResponseContains('You can check sql logs in <code>example/.var/sql/</code>');
20
    }
21
22
    public function testDiAction()
23
    {
24
        $this->doRequest('/di')
25
            ->assertResponseOk();
26
    }
27
28
    public function testMailAction()
29
    {
30
        $this->doRequest('/mail')
31
            ->assertResponseOk()
32
            ->assertResponseContains('You can check mail logs in <code>example/.var/mail/</code>');
33
    }
34
35
    public function testLoggerAction()
36
    {
37
        $this->doRequest('/logger')
38
            ->assertResponseOk()
39
            ->assertResponseContains('info from echo logger')
40
            ->assertResponseContains('error from echo logger');
41
    }
42
43
    public function testValidationAction()
44
    {
45
        $this->doRequest('/validation')
46
            ->assertResponseNotOk()
47
            ->assertStatusCode(422)
48
            ->assertResponseContains('Field name must be at least 5 characters long')
49
            ->assertResponseContains('Field id is required')
50
            ->assertResponseContains('Field email must be an email with @gmail.com');
51
    }
52
53
    public function testValidationPass()
54
    {
55
        $this->doRequest('/validation', ['name' => 'Adhocore', 'id' => 12, 'email' => '[email protected]'])
56
            ->assertResponseOk();
57
    }
58
59
    public function testCorsAction()
60
    {
61
        $this->doRequest('/cors')
62
            ->assertResponseOk()
63
            ->assertResponseContains('CORS request will be triggered by fetching host http://localhost:1234/'
64
                . ' from different origin http://127.0.01:1234/');
65
    }
66
67
    public function testCorsHeaderAction()
68
    {
69
        $this->doRequest('/corsheader')
70
            ->assertResponseOk()
71
            ->assertResponseJson();
72
    }
73
}
74