Completed
Push — dev ( 068048...da7eef )
by
unknown
05:26 queued 05:20
created

SurveyControllerTest::testEdit()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 25
Code Lines 15

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 25
rs 8.8571
cc 1
eloc 15
nc 1
nop 0
1
<?php
2
3
namespace Tests\AppBundle\Controller\Api;
4
5
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
6
7
class SurveyControllerTest extends WebTestCase
8
{
9
    public function testList()
10
    {
11
        exec('./bin/console d:d:c --env=test');
12
        exec('./bin/console d:s:c --env=test');
13
        exec('./bin/console h:f:l -n --env=test');
14
15
        $client = static::createClient();
16
17
        $client->request('GET', '/api/surveys');
18
19
        $this->assertEquals(401, $client->getResponse()->getStatusCode());
20
21
        $client->request(
22
            'GET',
23
            '/api/surveys',
24
            array(),
25
            array(),
26
            array('HTTP_X-AUTH-TOKEN' => '1')
27
28
        );
29
        $this->assertTrue(
30
            $client->getResponse()->headers->contains(
31
                'Content-Type',
32
                'application/json'
33
            ),
34
            'the "Content-Type" header is "application/json"'
35
        );
36
        $this->assertTrue($client->getResponse()->isSuccessful(), 'response status is 2xx');
37
    }
38
39
    public function testShow()
40
    {
41
        $client = static::createClient();
42
43
        $client->request('GET', '/api/surveys/1');
44
45
        $this->assertEquals(401, $client->getResponse()->getStatusCode());
46
47
        $client->request(
48
            'GET',
49
            '/api/surveys',
50
            array(),
51
            array(),
52
            array('HTTP_X-AUTH-TOKEN' => '1')
53
54
        );
55
        $this->assertTrue(
56
            $client->getResponse()->headers->contains(
57
                'Content-Type',
58
                'application/json'
59
            ),
60
            'the "Content-Type" header is "application/json"'
61
        );
62
        $this->assertTrue($client->getResponse()->isSuccessful(), 'response status is 2xx');
63
    }
64
65
    public function testEdit()
66
    {
67
        $client = static::createClient();
68
69
        $client->request('PUT', '/api/surveys/1');
70
71
        $this->assertEquals(401, $client->getResponse()->getStatusCode());
72
73
        $content = '{"answers":[{"questionId": 1,"content": "John"},{"questionId": 2,"content": "Title"
74
                         },{"questionId": 3,"content": "Site"},{"questionId": 4,"content": "10"},{"questionId": 5,
75
                         "content": "5"}]}';
76
77
        $client->request(
78
            'PUT',
79
            '/api/surveys/2',
80
            array(),
81
            array(),
82
            array('CONTENT_TYPE' => 'application/json',
83
                  'HTTP_X-AUTH-TOKEN' => '2', ),
84
            $content
85
        );
86
87
        $this->assertEquals(200, $client->getResponse()->getStatusCode());
88
        exec('./bin/console d:d:d --force --env=test');
89
    }
90
}
91