Test Failed
Branch main (0ffd95)
by
unknown
01:57
created

StatusTest   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 4

Importance

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

2 Methods

Rating   Name   Duplication   Size   Complexity  
A gets_status_of_an_email_send() 0 10 1
A uses_correct_request_configuration() 0 19 1
1
<?php
2
3
namespace Tests\Unit\Email;
4
5
use ElasticEmail\Email\Status;
6
use GuzzleHttp\Psr7\Request;
7
use Tests\Unit\UnitTestCase;
8
9
class StatusTest extends UnitTestCase
10
{
11
    /** @test */
12
    public function gets_status_of_an_email_send()
13
    {
14
        $client = $this->mockAPIStatus();
15
        $status = new Status($client);
16
17
        $actual = $status->request('message-id')->getBody();
18
        $expected = (object)['success' => true, 'data' => 'mocked-data'];
19
20
        $this->assertEquals($expected, $actual);
21
    }
22
23
    /** @test */
24
    public function uses_correct_request_configuration()
25
    {
26
        $container = [];
27
        $client = $this->mockAPIStatus($container);
28
        $status = new Status($client);
29
        $status->request('message-id');
30
31
        $this->assertMiddlewarePushed($container);
32
33
        /** @var Request $request */
34
        $request = $container[0]['request'];
35
        $query = http_build_query([
36
            'messageID' => 'message-id', 'apikey' => 'key'
37
        ]);
38
39
        $this->assertSame('/v2/email/status', $request->getUri()->getPath());
40
        $this->assertSame('POST', $request->getMethod());
41
        $this->assertSame($query, $request->getUri()->getQuery());
42
    }
43
}
44