Test Failed
Pull Request — master (#13)
by Vladislav
09:26 queued 01:13
created

MergedOrderBookTest::testMergedOrderBookEndpoint()   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\MergedOrderBook\Tests;
3
4
use Carpenstar\ByBitAPI\BybitAPI;
5
use Carpenstar\ByBitAPI\Core\Builders\ResponseDtoBuilder;
6
use Carpenstar\ByBitAPI\Core\Builders\ResponseHandlerBuilder;
7
use Carpenstar\ByBitAPI\Core\Builders\RestBuilder;
8
use Carpenstar\ByBitAPI\Core\Enums\EnumOutputMode;
9
use Carpenstar\ByBitAPI\Core\Objects\Collection\EntityCollection;
10
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...
11
use Carpenstar\ByBitAPI\Core\Response\CurlResponseHandler;
12
use Carpenstar\ByBitAPI\Spot\MarketData\MergedOrderBook\Interfaces\IMergedOrderBookPriceResponseInterface;
13
use Carpenstar\ByBitAPI\Spot\MarketData\MergedOrderBook\Interfaces\IMergedOrderBookResponseInterface;
14
use Carpenstar\ByBitAPI\Spot\MarketData\MergedOrderBook\MergedOrderBook;
15
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...
16
use Carpenstar\ByBitAPI\Spot\MarketData\MergedOrderBook\Request\MergedOrderBookRequest;
17
use Carpenstar\ByBitAPI\Spot\MarketData\MergedOrderBook\Response\MergedOrderBookPriceItemResponse;
18
use Carpenstar\ByBitAPI\Spot\MarketData\MergedOrderBook\Response\MergedOrderBookResponse;
19
use PHPUnit\Framework\TestCase;
20
21
class MergedOrderBookTest extends TestCase
22
{
23
    /**
24
     * Тестирование сборки объекта ответа
25
     *
26
     * @return void
27
     */
28
    public function testBuildResponseData()
29
    {
30
        $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}';
31
        $data = (new CurlResponseHandler())->build(json_decode($json, true), MergedOrderBookResponse::class);
32
33
        $this->assertEquals(0, $data->getReturnCode());
34
        $this->assertEquals('OK', $data->getReturnMessage());
35
        $this->assertInstanceOf(MergedOrderBookResponse::class, $data->getResult());
36
37
        /** @var MergedOrderBookResponse $orderbookInfo */
38
        $orderbookInfo = $data->getResult();
39
40
        $this->assertInstanceOf(\DateTime::class, $orderbookInfo->getTime());
41
42
        $ask = current($orderbookInfo->getAsks()->all());
43
        $this->assertEquals(26796.1, $ask->getPrice());
44
        $this->assertEquals(0.011429, $ask->getQuantity());
45
46
        $bid = current($orderbookInfo->getBids()->all());
47
        $this->assertEquals(26796, $bid->getPrice());
48
        $this->assertEquals(0.077068, $bid->getQuantity());
49
    }
50
}