Passed
Push — master ( faa4ac...572ea2 )
by Vladislav
06:35 queued 04:06
created

ReedemTest::testReedemEndpoint()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 12
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 2
eloc 8
c 1
b 0
f 0
nc 2
nop 0
dl 0
loc 12
rs 10
1
<?php
2
namespace Carpenstar\ByBitAPI\Spot\LeverageToken\Redeem\Tests;
3
4
use Carpenstar\ByBitAPI\Core\Builders\ResponseDtoBuilder;
5
use Carpenstar\ByBitAPI\Core\Builders\ResponseHandlerBuilder;
6
use Carpenstar\ByBitAPI\Core\Builders\RestBuilder;
7
use Carpenstar\ByBitAPI\Core\Enums\EnumOutputMode;
8
use Carpenstar\ByBitAPI\Core\Objects\Collection\EntityCollection;
9
use Carpenstar\ByBitAPI\Core\Response\CurlResponseDto;
10
use Carpenstar\ByBitAPI\Core\Response\CurlResponseHandler;
11
use Carpenstar\ByBitAPI\Spot\LeverageToken\PurchaseRedeemHistory\Overrides\TestPurchaseRedeemHistory;
12
use Carpenstar\ByBitAPI\Spot\LeverageToken\PurchaseRedeemHistory\Request\PurchaseRedeemHistoryRequest;
13
use Carpenstar\ByBitAPI\Spot\LeverageToken\PurchaseRedeemHistory\Response\PurchaseRedeemHistoryResponse;
14
use Carpenstar\ByBitAPI\Spot\LeverageToken\Redeem\Overrides\TestReedem;
15
use Carpenstar\ByBitAPI\Spot\LeverageToken\Redeem\Request\ReedemRequest;
16
use Carpenstar\ByBitAPI\Spot\LeverageToken\Redeem\Response\ReedemResponse;
17
use PHPUnit\Framework\TestCase;
18
19
class ReedemTest extends TestCase
20
{
21
    static private string $redeemResponse = '{"retCode":0,"retMsg":"success","result":{"id":"2087","ltCode":"DOT3LUSDT","orderAmount":"","orderQuantity":"50","orderStatus":"2","quantity":"","serialNo":"r001","timestamp":1662605726326,"valueCoin":"DOT3L"},"retExtInfo":{},"time":1662605727987}';
22
23
    public function testReedemDTOBuilder()
24
    {
25
        $dto = ResponseDtoBuilder::make(ReedemResponse::class, json_decode(self::$redeemResponse, true)['result']);
26
        $this->assertInstanceOf(ReedemResponse::class, $dto);
27
    }
28
29
    public function testReedemResponseHandlerBuilder()
30
    {
31
        $handler = ResponseHandlerBuilder::make(self::$redeemResponse, CurlResponseHandler::class, ReedemResponse::class);
32
        $this->assertInstanceOf(EntityCollection::class, $handler->getBody());
33
        $this->assertGreaterThan(0, $handler->getBody()->count());
34
    }
35
36
    public function testReedemEndpoint()
37
    {
38
        $endpoint = RestBuilder::make(TestReedem::class, (new ReedemRequest()));
39
40
        $entityResponse = $endpoint->execute(EnumOutputMode::MODE_ENTITY, self::$redeemResponse);
41
        $this->assertInstanceOf(CurlResponseDto::class, $entityResponse);
42
        $body = $entityResponse->getBody();
43
        $this->assertInstanceOf(EntityCollection::class, $body);
44
45
        foreach ($body->fetch() as $item) {
46
            $dto = ResponseDtoBuilder::make(ReedemResponse::class, $item);
47
            $this->assertInstanceOf(ReedemResponse::class, $dto);
48
        }
49
    }
50
}