Passed
Pull Request — master (#10)
by Vladislav
03:04
created

CancelAllOrderTest::testCancelAllOrderEndpoint()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 13
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 13
rs 10
1
<?php
2
namespace Carpenstar\ByBitAPI\Derivatives\Contract\Order\CancelAllOrder\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\Derivatives\Contract\Order\CancelAllOrder\Overrides\TestCancelAllOrder;
12
use Carpenstar\ByBitAPI\Derivatives\Contract\Order\CancelAllOrder\Request\CancelAllOrderRequest;
13
use Carpenstar\ByBitAPI\Derivatives\Contract\Order\CancelAllOrder\Response\CancelAllOrderResponse;
14
use PHPUnit\Framework\TestCase;
15
16
class CancelAllOrderTest extends TestCase
17
{
18
    static private string $cancelAllOrderResponse = '{"retCode":0,"retMsg":"OK","result":{"list":[{"category":"linear","symbol":"ETHUSDT","orderId":"6cba55ea-6996-44f5-bd0f-ac09ffda4ab1","orderLinkId": "liang-001"}]},"retExtInfo":{"list":[{"code":0,"msg":"success"}]},"time": 1672810388787}';
19
20
    public function testCancelAllOrderDTOBuilder()
21
    {
22
        foreach (json_decode(self::$cancelAllOrderResponse, true)['result']["list"] as $feeRate) {
23
            $dto = ResponseDtoBuilder::make(CancelAllOrderResponse::class, $feeRate);
24
            $this->assertInstanceOf(CancelAllOrderResponse::class, $dto);
25
        }
26
    }
27
28
    public function testCancelAllOrderResponseHandlerBuilder()
29
    {
30
        $handler = ResponseHandlerBuilder::make(self::$cancelAllOrderResponse, CurlResponseHandler::class, CancelAllOrderResponse::class);
31
        $this->assertInstanceOf(EntityCollection::class, $handler->getBody());
32
        $this->assertGreaterThan(0, $handler->getBody()->count());
33
    }
34
35
    public function testCancelAllOrderEndpoint()
36
    {
37
        $endpoint = RestBuilder::make(TestCancelAllOrder::class, (new CancelAllOrderRequest()));
38
39
        $entityResponse = $endpoint->execute(EnumOutputMode::MODE_ENTITY, self::$cancelAllOrderResponse);
40
41
        $this->assertInstanceOf(CurlResponseDto::class, $entityResponse);
42
        $body = $entityResponse->getBody();
43
        $this->assertInstanceOf(EntityCollection::class, $body);
44
45
        foreach ($body->fetch() as $wallet) {
46
            $dto = ResponseDtoBuilder::make(CancelAllOrderResponse::class, $wallet);
47
            $this->assertInstanceOf(CancelAllOrderResponse::class, $dto);
48
        }
49
    }
50
}