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()); |
|
|
|
|
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
|
|
|
} |