# frozen_string_literal: true
require "em-hiredis"
require "test_helper"
require "btc_sell_prices"
class BTCSellPricesTest < Minitest::Test
def setup
@redis = Minitest::Mock.new
@subject = BTCSellPrices.new(@redis, "")
end
def test_cad
stub_request(:get, "https://www.canadianbitcoins.com").to_return(
body: "<div id='ticker'><table><tbody><tr>" \
"<td>Bitcoin</td><td></td><td>$123.00</td>"
)
assert_equal BigDecimal(123), @subject.cad.sync
end
em :test_cad
def test_usd
stub_request(:get, "https://www.canadianbitcoins.com").to_return(
body: "<div id='ticker'><table><tbody><tr>" \
"<td>Bitcoin<td></td><td>$123.00</td>"
)
@redis.expect(:get, EMPromise.resolve("0.5"), ["cad_to_usd"])
assert_equal BigDecimal(123) / 2, @subject.usd.sync
end
em :test_usd
end