MergedOrderBookTest   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\MergedOrderBook\Tests;
4
5
use Carpenstar\ByBitAPI\BybitAPI;
6
use Carpenstar\ByBitAPI\Core\Builders\ResponseDtoBuilder;
7
use Carpenstar\ByBitAPI\Core\Builders\ResponseHandlerBuilder;
8
use Carpenstar\ByBitAPI\Core\Builders\RestBuilder;
9
use Carpenstar\ByBitAPI\Core\Enums\EnumOutputMode;
10
use Carpenstar\ByBitAPI\Core\Objects\Collection\EntityCollection;
11
use Carpenstar\ByBitAPI\Core\Response\CurlResponseDto;
0 ignored issues
show
Bug introduced by
The type Carpenstar\ByBitAPI\Core\Response\CurlResponseDto was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
12
use Carpenstar\ByBitAPI\Core\Response\CurlResponseHandler;
13
use Carpenstar\ByBitAPI\Spot\MarketData\MergedOrderBook\Interfaces\IMergedOrderBookPriceResponseInterface;
14
use Carpenstar\ByBitAPI\Spot\MarketData\MergedOrderBook\Interfaces\IMergedOrderBookResponseInterface;
15
use Carpenstar\ByBitAPI\Spot\MarketData\MergedOrderBook\MergedOrderBook;
16
use Carpenstar\ByBitAPI\Spot\MarketData\MergedOrderBook\Overrides\TestMergedOrderBook;
0 ignored issues
show
Bug introduced by
The type Carpenstar\ByBitAPI\Spot...des\TestMergedOrderBook was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
17
use Carpenstar\ByBitAPI\Spot\MarketData\MergedOrderBook\Request\MergedOrderBookRequest;
18
use Carpenstar\ByBitAPI\Spot\MarketData\MergedOrderBook\Response\MergedOrderBookPriceItemResponse;
19
use Carpenstar\ByBitAPI\Spot\MarketData\MergedOrderBook\Response\MergedOrderBookResponse;
20
use PHPUnit\Framework\TestCase;
21
22
class MergedOrderBookTest extends TestCase
23
{
24
    /**
25
     * Тестирование сборки объекта ответа
26
     *
27
     * @return void
28
     */
29
    public function testBuildResponseData()
30
    {
31
        $json = '{"retCode":0,"retMsg":"OK","result":{"asks":[["26796.1","0.011429"],["26796.9","0.000958"],["26800","0.026581"],["26807.7","0.000135"],["26810.2","0.000592"]],"bids":[["26796","0.077068"],["26795.9","0.115983"],["26711","0.002177"],["26693.1","0.001057"],["26683.9","0.001006"]],"time":1683983945762},"retExtInfo":{},"time":1683983945762}';
32
        $data = (new CurlResponseHandler())->build(json_decode($json, true), MergedOrderBookResponse::class);
33
34
        $this->assertEquals(0, $data->getReturnCode());
35
        $this->assertEquals('OK', $data->getReturnMessage());
36
        $this->assertInstanceOf(MergedOrderBookResponse::class, $data->getResult());
37
38
        /** @var MergedOrderBookResponse $orderbookInfo */
39
        $orderbookInfo = $data->getResult();
40
41
        $this->assertInstanceOf(\DateTime::class, $orderbookInfo->getTime());
42
43
        $ask = current($orderbookInfo->getAsks()->all());
44
        $this->assertEquals(26796.1, $ask->getPrice());
45
        $this->assertEquals(0.011429, $ask->getQuantity());
46
47
        $bid = current($orderbookInfo->getBids()->all());
48
        $this->assertEquals(26796, $bid->getPrice());
49
        $this->assertEquals(0.077068, $bid->getQuantity());
50
    }
51
}
52