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

AllAssetInfoTest::testBuildResponseData()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 30
Code Lines 24

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 24
nc 1
nop 0
dl 0
loc 30
rs 9.536
c 0
b 0
f 0
1
<?php
2
namespace Carpenstar\ByBitAPI\Spot\LeverageToken\AllAssetInfo\Tests;
3
4
use Carpenstar\ByBitAPI\Core\Response\CurlResponseHandler;
5
use Carpenstar\ByBitAPI\Spot\LeverageToken\AllAssetInfo\Response\AllAssetInfoResponse;
6
use Carpenstar\ByBitAPI\Spot\LeverageToken\AllAssetInfo\Response\AllAssetInfoResponseItem;
7
use PHPUnit\Framework\TestCase;
8
9
class AllAssetInfoTest extends TestCase
10
{
11
    /**
12
     * Тестирование сборки объекта ответа
13
     *
14
     * @return void
15
     */
16
    public function testBuildResponseData()
17
    {
18
        $json = '{"retCode":0,"retMsg":"OK","result":{"list":[{"fundFee":"21.79800315","fundFeeTime":1673366400000,"ltCode":"EOS2LUSDT","ltName":"Long EOS (2x Leverage)","manageFeeRate":"0.00005","manageFeeTime":1673398800000,"maxPurchase":"5000","maxPurchaseDaily":"200000","maxRedeem":"861","maxRedeemDaily":"20000","minPurchase":"100","minRedeem":"17","netValue":"3.781571076822412032","purchaseFeeRate":"0.0005","redeemFeeRate":"0.0005","status":"1","total":"5000000","value":"23624.848996419293002588635"}]},"retExtInfo":{},"time": 1673345413125}';
19
        $data = (new CurlResponseHandler())->build(json_decode($json, true), AllAssetInfoResponse::class);
20
21
        $this->assertEquals(0, $data->getReturnCode());
22
        $this->assertEquals('OK', $data->getReturnMessage());
23
        $this->assertInstanceOf(AllAssetInfoResponse::class, $data->getResult());
24
25
        /** @var AllAssetInfoResponseItem $assetInfo */
26
        $assetInfo = current($data->getResult()->getAssets());
0 ignored issues
show
Bug introduced by
The method getAssets() does not exist on Carpenstar\ByBitAPI\Core\Objects\AbstractResponse. It seems like you code against a sub-type of Carpenstar\ByBitAPI\Core\Objects\AbstractResponse such as Carpenstar\ByBitAPI\Spot...se\AllAssetInfoResponse. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

26
        $assetInfo = current($data->getResult()->/** @scrutinizer ignore-call */ getAssets());
Loading history...
27
28
        $this->assertInstanceOf(\DateTime::class, $assetInfo->getFundFeeTime());
29
        $this->assertInstanceOf(\DateTime::class, $assetInfo->getManageFeeTime());
30
        $this->assertEquals(21.79800315, $assetInfo->getFundFee());
31
        $this->assertEquals('EOS2LUSDT', $assetInfo->getLtCode());
32
        $this->assertEquals('Long EOS (2x Leverage)', $assetInfo->getLtName());
33
        $this->assertEquals(0.00005, $assetInfo->getManageFeeRate());
34
        $this->assertEquals(5000, $assetInfo->getMaxPurchase());
35
        $this->assertEquals(200000, $assetInfo->getMaxPurchaseDaily());
36
        $this->assertEquals(861, $assetInfo->getMaxRedeem());
37
        $this->assertEquals(20000, $assetInfo->getMaxRedeemDaily());
38
        $this->assertEquals(100, $assetInfo->getMinPurchase());
39
        $this->assertEquals(17, $assetInfo->getMinRedeem());
40
        $this->assertEquals(3.781571076822412032, $assetInfo->getNetValue());
41
        $this->assertEquals(0.0005, $assetInfo->getPurchaseFeeRate());
42
        $this->assertEquals(0.0005, $assetInfo->getRedeemFeeRate());
43
        $this->assertEquals(1, $assetInfo->getStatus());
44
        $this->assertEquals(5000000, $assetInfo->getTotal());
45
        $this->assertEquals(23624.848996419293002588635, $assetInfo->getValue());
46
    }
47
}