MarketInfoTest::testBuildResponseData()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 18
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 12
nc 1
nop 0
dl 0
loc 18
rs 9.8666
c 0
b 0
f 0
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