OrderBookTest::testOrderBookKlineEndpoint()   A
last analyzed

Complexity

Conditions 4
Paths 5

Size

Total Lines 45
Code Lines 30

Duplication

Lines 0
Ratio 0 %

Importance

Changes 3
Bugs 0 Features 0
Metric Value
cc 4
eloc 30
c 3
b 0
f 0
nc 5
nop 0
dl 0
loc 45
rs 9.44
1
<?php
2
3
namespace Carpenstar\ByBitAPI\Derivatives\MarketData\OrderBook\Tests;
4
5
use Carpenstar\ByBitAPI\BybitAPI;
6
use Carpenstar\ByBitAPI\Derivatives\MarketData\OrderBook\OrderBook;
7
use Carpenstar\ByBitAPI\Derivatives\MarketData\OrderBook\Request\OrderBookRequest;
8
use Carpenstar\ByBitAPI\Derivatives\MarketData\OrderBook\Response\OrderBookPriceItemResponse;
9
use Carpenstar\ByBitAPI\Derivatives\MarketData\OrderBook\Response\OrderBookResponse;
10
use PHPUnit\Framework\TestCase;
11
12
class OrderBookTest extends TestCase
13
{
14
    public function testOrderBookKlineEndpoint()
15
    {
16
        echo "\n //// --- //// \n";
17
        
18
        $bybit = (new BybitAPI())->setCredentials('https://api-testnet.bybit.com');
19
20
        $response = $bybit->publicEndpoint(
21
            OrderBook::class,
22
            (new OrderBookRequest())
23
            ->setSymbol('BTCUSDT')
24
            ->setLimit(3)
25
        )->execute();
26
27
        if ($response->getReturnCode() == 0) {
28
            echo "CODE: {$response->getReturnCode()}\n";
29
            echo "MESSAGE: {$response->getReturnMessage()}\n";
30
    
31
            /** @var OrderBookResponse $orderBook */
32
            $orderBook = $response->getResult();
33
    
34
            echo "Timestamp: {$orderBook->getTimestamp()->format('Y-m-d H:i:s')}\n";
35
            echo "Symbol: {$orderBook->getSymbol()}\n";
36
    
37
            echo "ASK: \n";
38
            /** @var OrderBookPriceItemResponse $ask */
39
            foreach ($orderBook->getAsk() as $ask) {
40
                echo " --- \n";
41
                echo "  Price: {$ask->getPrice()}\n";
42
                echo "  Volume: {$ask->getQuantity()}\n";
43
            }
44
    
45
            echo "BID: \n";
46
            /** @var OrderBookPriceItemResponse $bid */
47
            foreach ($orderBook->getBid() as $bid) {
48
                echo " --- \n";
49
                echo "Price: {$bid->getPrice()}\n";
50
                echo "Volume: {$bid->getQuantity()}\n";
51
            }
52
    
53
            $this->assertTrue(true);
54
        } else {
55
            echo "API ERORR: " . get_class($this) . "\n";
56
            echo "CODE: {$response->getReturnCode()} \n"; 
57
            echo "MESSAGE: {$response->getReturnMessage()} \n"; 
58
            echo "EXTENDED:" . implode(";\n", $response->getExtendedInfo()) . "\n"; 
59
        }
60
61
    }
62
}
63