OrderBookTest   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 28
Duplicated Lines 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
eloc 14
dl 0
loc 28
rs 10
c 2
b 0
f 0
wmc 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A testBuildResponseData() 0 21 1
1
<?php
2
3
namespace Carpenstar\ByBitAPI\Spot\MarketData\OrderBook\Tests;
4
5
use Carpenstar\ByBitAPI\Core\Response\CurlResponseHandler;
6
use Carpenstar\ByBitAPI\Spot\MarketData\OrderBook\Response\OrderBookResponse;
7
use PHPUnit\Framework\TestCase;
8
9
class OrderBookTest extends TestCase
10
{
11
    /**
12
     * Тестирование сборки объекта ответа
13
     *
14
     * @return void
15
     */
16
    public function testBuildResponseData()
17
    {
18
        $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}';
19
        $data = (new CurlResponseHandler())->build(json_decode($json, true), OrderBookResponse::class);
20
21
        $this->assertEquals(0, $data->getReturnCode());
22
        $this->assertEquals('OK', $data->getReturnMessage());
23
        $this->assertInstanceOf(OrderBookResponse::class, $data->getResult());
24
25
        /** @var OrderBookResponse $orderbookInfo */
26
        $orderbookInfo = $data->getResult();
27
28
        $this->assertInstanceOf(\DateTime::class, $orderbookInfo->getTime());
29
30
        $ask = current($orderbookInfo->getAsks()->all());
31
        $this->assertEquals(26847.07, $ask->getPrice());
32
        $this->assertEquals(0.026755, $ask->getQuantity());
33
34
        $bid = current($orderbookInfo->getBids()->all());
35
        $this->assertEquals(26844.02, $bid->getPrice());
36
        $this->assertEquals(0.017595, $bid->getQuantity());
37
    }
38
}
39