Completed
Push — master ( 7de777...9be641 )
by
unknown
11:28
created

HelperTest   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 74
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Importance

Changes 0
Metric Value
wmc 2
lcom 1
cbo 2
dl 0
loc 74
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A testAutocomplete() 0 63 1
A getLastResponse() 0 4 1
1
<?php
2
3
namespace MediaMonks\SonataMediaBundle\Tests\Functional;
4
5
class HelperTest extends AdminTestAbstract
6
{
7
    public function testAutocomplete()
8
    {
9
        $this->client->request('GET', '/admin/media/autocomplete');
10
11
        $response = $this->getLastResponse();
12
        $this->assertEquals('KO', $response['status']);
13
        $this->assertEquals('Search string too short', $response['message']);
14
15
        $this->client->request('GET', '/admin/media/autocomplete', [
16
            'q' => 'media'
17
        ]);
18
19
        $response = $this->getLastResponse();
20
        $this->assertEquals('OK', $response['status']);
21
        $this->assertEmpty($response['more']);
22
        $this->assertEmpty($response['items']);
23
24
        $this->uploadImage();
25
26
        $this->client->request('GET', '/admin/media/autocomplete', [
27
            'q' => 'monk'
28
        ]);
29
        $response = $this->getLastResponse();
30
        $this->assertEquals('OK', $response['status']);
31
        $this->assertEmpty($response['more']);
32
        $this->assertCount(1, $response['items']);
33
34
        $this->client->request('GET', '/admin/media/autocomplete', [
35
            'q' => 'monk',
36
            'type' => 'image'
37
        ]);
38
        $response = $this->getLastResponse();
39
        $this->assertEquals('OK', $response['status']);
40
        $this->assertEmpty($response['more']);
41
        $this->assertCount(1, $response['items']);
42
43
        $this->client->request('GET', '/admin/media/autocomplete', [
44
            'q' => 'monk',
45
            'type' => 'audio'
46
        ]);
47
        $response = $this->getLastResponse();
48
        $this->assertEquals('OK', $response['status']);
49
        $this->assertEmpty($response['more']);
50
        $this->assertCount(0, $response['items']);
51
52
        $this->client->request('GET', '/admin/media/autocomplete', [
53
            'q' => 'monk',
54
            'provider' => 'image'
55
        ]);
56
        $response = $this->getLastResponse();
57
        $this->assertEquals('OK', $response['status']);
58
        $this->assertEmpty($response['more']);
59
        $this->assertCount(1, $response['items']);
60
61
        $this->client->request('GET', '/admin/media/autocomplete', [
62
            'q' => 'monk',
63
            'provider' => 'soundcloud'
64
        ]);
65
        $response = $this->getLastResponse();
66
        $this->assertEquals('OK', $response['status']);
67
        $this->assertEmpty($response['more']);
68
        $this->assertCount(0, $response['items']);
69
    }
70
71
    /**
72
     * @return mixed
73
     */
74
    private function getLastResponse()
75
    {
76
        return json_decode($this->client->getResponse()->getContent(), true);
77
    }
78
}
79