MarketInfoTest   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Importance

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

1 Method

Rating   Name   Duplication   Size   Complexity  
A testBuildResponseData() 0 18 1
1
<?php
2
3
namespace Carpenstar\ByBitAPI\Spot\LeverageToken\MarketInfo\Tests;
4
5
use Carpenstar\ByBitAPI\Core\Response\CurlResponseHandler;
6
use Carpenstar\ByBitAPI\Spot\LeverageToken\MarketInfo\Response\MarketInfoResponse;
7
use PHPUnit\Framework\TestCase;
8
9
class MarketInfoTest extends TestCase
10
{
11
    /**
12
     * Тестирование сборки объекта ответа
13
     *
14
     * @return void
15
     */
16
    public function testBuildResponseData()
17
    {
18
        $json = '{"retCode":0,"retMsg":"OK","result":{"basket":"230666.700009559600667216","circulation":"24999.840207851103706443","leverage": "2.302545313639639446","ltCode":"EOS2L","nav":"3.790797803797135639","navTime":1673346095226},"retExtInfo":{},"time":1673346095239}';
19
        $data = (new CurlResponseHandler())->build(json_decode($json, true), MarketInfoResponse::class);
20
21
        $this->assertEquals(0, $data->getReturnCode());
22
        $this->assertEquals('OK', $data->getReturnMessage());
23
        $this->assertInstanceOf(MarketInfoResponse::class, $data->getResult());
24
25
        /** @var MarketInfoResponse $marketInfo */
26
        $marketInfo = $data->getResult();
27
28
        $this->assertInstanceOf(\DateTime::class, $marketInfo->getNavTime());
29
        $this->assertEquals(230666.700009559600667216, $marketInfo->getBasket());
30
        $this->assertEquals(24999.840207851103706443, $marketInfo->getCirculation());
31
        $this->assertEquals(2.302545313639639446, $marketInfo->getLeverage());
32
        $this->assertEquals('EOS2L', $marketInfo->getLtCode());
33
        $this->assertEquals(3.790797803797135639, $marketInfo->getNav());
34
    }
35
}
36