Subversion-Projekte lars-tiefland.laravel_shop

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
676 lars 1
<?php
2
 
3
namespace Srmklive\PayPal\Tests\Unit\Client;
4
 
5
use GuzzleHttp\Utils;
6
use PHPUnit\Framework\TestCase;
7
use Srmklive\PayPal\Tests\MockClientClasses;
8
use Srmklive\PayPal\Tests\MockRequestPayloads;
9
use Srmklive\PayPal\Tests\MockResponsePayloads;
10
 
11
class ReferencedPayoutsTest extends TestCase
12
{
13
    use MockClientClasses;
14
    use MockRequestPayloads;
15
    use MockResponsePayloads;
16
 
17
    /** @test */
18
    public function it_can_create_referenced_batch_payout()
19
    {
20
        $expectedResponse = $this->mockCreateReferencedBatchPayoutResponse();
21
 
22
        $expectedEndpoint = 'https://api-m.sandbox.paypal.com/v1/payments/referenced-payouts';
23
        $expectedParams = [
24
            'headers' => [
25
                'Accept'                        => 'application/json',
26
                'Accept-Language'               => 'en_US',
27
                'Authorization'                 => 'Bearer some-token',
28
                'PayPal-Request-Id'             => 'some-request-id',
29
                'PayPal-Partner-Attribution-Id' => 'some-attribution-id',
30
            ],
31
            'json' => $this->mockCreateReferencedBatchPayoutParams(),
32
        ];
33
 
34
        $mockHttpClient = $this->mock_http_request(Utils::jsonEncode($expectedResponse), $expectedEndpoint, $expectedParams, 'post');
35
 
36
        $this->assertEquals($expectedResponse, Utils::jsonDecode($mockHttpClient->post($expectedEndpoint, $expectedParams)->getBody(), true));
37
    }
38
 
39
    /** @test */
40
    public function it_can_list_items_referenced_in_batch_payout()
41
    {
42
        $expectedResponse = $this->mockShowReferencedBatchPayoutResponse();
43
 
44
        $expectedEndpoint = 'https://api-m.sandbox.paypal.com/v1/payments/referenced-payouts/KHbwO28lWlXwi2IlToJ2IYNG4juFv6kpbFx4J9oQ5Hb24RSp96Dk5FudVHd6v4E=';
45
        $expectedParams = [
46
            'headers' => [
47
                'Accept'                        => 'application/json',
48
                'Accept-Language'               => 'en_US',
49
                'Authorization'                 => 'Bearer some-token',
50
            ],
51
        ];
52
 
53
        $mockHttpClient = $this->mock_http_request(Utils::jsonEncode($expectedResponse), $expectedEndpoint, $expectedParams, 'get');
54
 
55
        $this->assertEquals($expectedResponse, Utils::jsonDecode($mockHttpClient->get($expectedEndpoint, $expectedParams)->getBody(), true));
56
    }
57
 
58
    /** @test */
59
    public function it_can_create_referenced_batch_payout_item()
60
    {
61
        $expectedResponse = $this->mockCreateReferencedBatchPayoutItemResponse();
62
 
63
        $expectedEndpoint = 'https://api-m.sandbox.paypal.com/v1/payments/referenced-payouts-items';
64
        $expectedParams = [
65
            'headers' => [
66
                'Accept'                        => 'application/json',
67
                'Accept-Language'               => 'en_US',
68
                'Authorization'                 => 'Bearer some-token',
69
                'PayPal-Request-Id'             => 'some-request-id',
70
                'PayPal-Partner-Attribution-Id' => 'some-attribution-id',
71
            ],
72
            'json' => $this->mockCreateReferencedBatchPayoutItemParams(),
73
        ];
74
 
75
        $mockHttpClient = $this->mock_http_request(Utils::jsonEncode($expectedResponse), $expectedEndpoint, $expectedParams, 'post');
76
 
77
        $this->assertEquals($expectedResponse, Utils::jsonDecode($mockHttpClient->post($expectedEndpoint, $expectedParams)->getBody(), true));
78
    }
79
 
80
    /** @test */
81
    public function it_can_show_referenced_payout_item_details()
82
    {
83
        $expectedResponse = $this->mockShowReferencedBatchPayoutItemResponse();
84
 
85
        $expectedEndpoint = 'https://api-m.sandbox.paypal.com/v1/payments/referenced-payouts-items/CDZEC5MJ8R5HY';
86
        $expectedParams = [
87
            'headers' => [
88
                'Accept'                        => 'application/json',
89
                'Accept-Language'               => 'en_US',
90
                'Authorization'                 => 'Bearer some-token',
91
                'PayPal-Request-Id'             => 'some-request-id',
92
                'PayPal-Partner-Attribution-Id' => 'some-attribution-id',
93
            ],
94
            'json' => $this->mockCreateReferencedBatchPayoutItemParams(),
95
        ];
96
 
97
        $mockHttpClient = $this->mock_http_request(Utils::jsonEncode($expectedResponse), $expectedEndpoint, $expectedParams, 'get');
98
 
99
        $this->assertEquals($expectedResponse, Utils::jsonDecode($mockHttpClient->get($expectedEndpoint, $expectedParams)->getBody(), true));
100
    }
101
}