Passed
Push — master ( 85903d...ffeb92 )
by Peter
09:09 queued 06:41
created

GenderizeResponseTest   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 48
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 2
eloc 25
c 1
b 0
f 0
dl 0
loc 48
rs 10
1
<?php
2
3
namespace Pixelpeter\Genderize\Test;
4
5
use Pixelpeter\Genderize\Models\GenderizeResponse;
6
use Unirest\Response;
7
8
class GenderizeResponseTest extends \PHPUnit\Framework\TestCase
9
{
10
    /**
11
     * It correctly parses a response with a single result
12
     *
13
     * @test
14
     */
15
    public function single_result_is_correctly_set()
16
    {
17
        $response = new Response(
18
            200,
19
            '{"name":"B\u00e4rbel","gender":"female","probability":"0.75","count":4,"country_id":"DE"}',
20
            "content-type: text/html; charset=UTF-8\r\n".
21
            "X-Frame-Options: SAMEORIGIN\r\n".
22
            "X-Powered-By: PHP/5.5.9-1ubuntu4.6\r\n".
23
            "X-Rate-Limit-Limit: 1000\r\n".
24
            "X-Rate-Limit-Remaining: 970\r\n".
25
            "X-Rate-Reset: 79614\r\n"
26
        );
27
28
        $genderizeResponse = new GenderizeResponse($response);
29
30
        $this->assertInstanceOf('Pixelpeter\Genderize\Models\Name', $genderizeResponse->result);
31
        $this->assertInstanceOf('Pixelpeter\Genderize\Models\Meta', $genderizeResponse->meta);
32
    }
33
34
    /**
35
     * It correctly parses a response with multiple results
36
     *
37
     * @test
38
     */
39
    public function multiple_result_is_correctly_set()
40
    {
41
        $response = new Response(
42
            200,
43
            '[{"name":"B\u00e4rbel","gender":"female","probability":"0.80","count":5},{"name":"Marcel","gender":"male","probability":"0.96","count":403}]',
44
            "content-type: text/html; charset=UTF-8\r\n".
45
            "X-Frame-Options: SAMEORIGIN\r\n".
46
            "X-Powered-By: PHP/5.5.9-1ubuntu4.6\r\n".
47
            "X-Rate-Limit-Limit: 1000\r\n".
48
            "X-Rate-Limit-Remaining: 970\r\n".
49
            "X-Rate-Reset: 79614\r\n"
50
        );
51
52
        $genderizeResponse = new GenderizeResponse($response);
53
54
        $this->assertInstanceOf('Illuminate\Support\Collection', $genderizeResponse->result);
55
        $this->assertInstanceOf('Pixelpeter\Genderize\Models\Meta', $genderizeResponse->meta);
56
    }
57
}
58