Test Failed
Push — master ( 029223...912b2a )
by Vladislav
10:23 queued 07:49
created

OrderBookTest::testOrderBookEndpoint()   A

Complexity

Conditions 3
Paths 4

Size

Total Lines 25
Code Lines 15

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
cc 3
eloc 15
c 2
b 0
f 0
nc 4
nop 0
dl 0
loc 25
rs 9.7666
1
<?php
2
namespace Carpenstar\ByBitAPI\Spot\MarketData\OrderBook\Tests;
3
4
use Carpenstar\ByBitAPI\Core\Response\CurlResponseHandler;
5
use Carpenstar\ByBitAPI\Spot\MarketData\OrderBook\Response\OrderBookResponse;
6
use PHPUnit\Framework\TestCase;
7
8
class OrderBookTest extends TestCase
9
{
10
    /**
11
     * Тестирование сборки объекта ответа
12
     *
13
     * @return void
14
     */
15
    public function testBuildResponseData()
16
    {
17
        $json = '{"retCode":0,"retMsg":"OK","result":{"asks":[["26847.07","0.026755"],["26847.09","0.018993"],["26847.11","0.023623"],["26847.13","0.054235"],["26847.15","0.02979"]],"bids":[["26844.02","0.017595"],["26844","0.020731"],["26843.98","0.039244"],["26843.96","0.035931"],["26843.94","0.053928"]],"time":1683984334496},"retExtInfo":{},"time":1683984334496}';
18
        $data = (new CurlResponseHandler())->build(json_decode($json, true), OrderBookResponse::class);
19
20
        $this->assertEquals(0, $data->getReturnCode());
21
        $this->assertEquals('OK', $data->getReturnMessage());
22
        $this->assertInstanceOf(OrderBookResponse::class, $data->getResult());
23
24
        /** @var OrderBookResponse $orderbookInfo */
25
        $orderbookInfo = $data->getResult();
26
27
        $this->assertInstanceOf(\DateTime::class, $orderbookInfo->getTime());
28
29
        $ask = current($orderbookInfo->getAsks()->all());
30
        $this->assertEquals(26847.07, $ask->getPrice());
31
        $this->assertEquals(0.026755, $ask->getQuantity());
32
33
        $bid = current($orderbookInfo->getBids()->all());
34
        $this->assertEquals(26844.02, $bid->getPrice());
35
        $this->assertEquals(0.017595, $bid->getQuantity());
36
    }
37
}