56 lines
1.2 KiB
Ruby
56 lines
1.2 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
RSpec.describe Peatio::Upstream::Opendax do
|
|
let(:upstream_opendax_config) do
|
|
{
|
|
"driver": 'opendax',
|
|
"source": 'btcusd',
|
|
"target": 'btcusd',
|
|
"rest": 'http://localhost',
|
|
"websocket": 'wss://localhost'
|
|
}.stringify_keys
|
|
end
|
|
|
|
let(:opendax) { Peatio::Upstream::Opendax.new(upstream_opendax_config) }
|
|
|
|
let(:msg) do
|
|
{
|
|
'btcusd.trades' =>
|
|
{ 'trades' =>
|
|
[{ 'tid' => 247_646_537,
|
|
'taker_type' => 'buy',
|
|
'date' => 1_584_437_804,
|
|
'price' => '5194.0',
|
|
'amount' => '0.01710500' }] }
|
|
}
|
|
end
|
|
|
|
let(:subscribe_msg) do
|
|
{
|
|
'success' =>
|
|
{ 'message' => 'subscribed',
|
|
'streams' => ['btcusd.trades'] }
|
|
}
|
|
end
|
|
|
|
let(:trade) do
|
|
{
|
|
tid: 247_646_537,
|
|
amount: '0.01710500',
|
|
price: '5194.0',
|
|
date: 1_584_437_804,
|
|
taker_type: 'buy'
|
|
}.stringify_keys
|
|
end
|
|
|
|
it 'detects trade' do
|
|
opendax.expects(:notify_public_trade).with(trade)
|
|
opendax.ws_read_public_message(msg)
|
|
end
|
|
|
|
it 'doesnt notify about public trade' do
|
|
opendax.expects(:notify_public_trade).never
|
|
opendax.ws_read_public_message(subscribe_msg)
|
|
end
|
|
end
|