Fix public ad related LBTC calls and tests

This commit is contained in:
2022-04-23 15:02:29 +01:00
parent ad21f6fb67
commit 69e44b9fdb
4 changed files with 49 additions and 29 deletions

View File

@@ -1,3 +1,6 @@
expected_to_update_lbtc = [["1452045", "btc_in_usd*1.1", "BTC", "GBP", False]]
expected_to_update = [
[
"2caa4afa-a1c7-4683-aa4a-faa1c7a683dc",
@@ -224,6 +227,29 @@ cg_prices = {
"sek": 1620.26,
},
}
fake_public_ads_lbtc = {
"GBP": [
["1452045", "Harrey", "30800.00", "NATIONAL_BANK", "BTC", "GBP", 0.95],
["1359267", "Angelchira", "32201.41", "NATIONAL_BANK", "BTC", "GBP", 1.0],
["1434612", "Bittylicious.com-James", "32308.88", "NATIONAL_BANK", "BTC", "GBP", 1.0],
["1451964", "tutsidelopez", "32308.88", "NATIONAL_BANK", "BTC", "GBP", 1.0],
["1354377", "DeltaTip", "32328.19", "NATIONAL_BANK", "BTC", "GBP", 1.0],
["1330431", "starclicks_co", "33603.21", "NATIONAL_BANK", "BTC", "GBP", 1.04],
["1431277", "bitotal", "34712.75", "NATIONAL_BANK", "BTC", "GBP", 1.08],
["1382819", "Bitcoinmarketprice", "34871.26", "NATIONAL_BANK", "BTC", "GBP", 1.08],
["1068826", "JDRbitcoins", "36454.75", "NATIONAL_BANK", "BTC", "GBP", 1.13],
["1170564", "mommabear007", "36456.32", "NATIONAL_BANK", "BTC", "GBP", 1.13],
["1331232", "ParadoxHD", "36765.39", "NATIONAL_BANK", "BTC", "GBP", 1.14],
["1445019", "demoric102", "37090.34", "NATIONAL_BANK", "BTC", "GBP", 1.15],
["1379791", "eenitan161", "37850.00", "NATIONAL_BANK", "BTC", "GBP", 1.17],
["1435762", "btcladybd", "41202.59", "NATIONAL_BANK", "BTC", "GBP", 1.28],
["1445674", "CarloMazzillo", "41202.59", "NATIONAL_BANK", "BTC", "GBP", 1.28],
["1428769", "miguelnicotra", "44807.39", "NATIONAL_BANK", "BTC", "GBP", 1.39],
["326809", "Ceres", "50710.88", "NATIONAL_BANK", "BTC", "GBP", 1.57],
]
}
fake_public_ads = {
"AUD": [
[

View File

@@ -3,12 +3,13 @@ from unittest.mock import MagicMock, patch
from json import loads
from copy import deepcopy
from tests.common import fake_public_ads, cg_prices, expected_to_update
from tests.common import fake_public_ads_lbtc, cg_prices, expected_to_update_lbtc
from sources.localbitcoins import LBTC
from markets import Markets
from money import Money
import util
import settings
import sources
class TestLBTC(TestCase):
@@ -25,6 +26,8 @@ class TestLBTC(TestCase):
self.markets = Markets()
self.lbtc = LBTC()
self.money = Money()
self.sources = sources.Sources()
setattr(self.markets, "sources", self.sources)
setattr(self.lbtc, "markets", self.markets)
setattr(self.money, "markets", self.markets)
setattr(self.lbtc, "money", self.money)
@@ -63,7 +66,9 @@ class TestLBTC(TestCase):
self.lbtc.markets.get_all_providers.return_value = self.all_providers
public_ads = self.lbtc.get_all_public_ads()
self.assertDictEqual(public_ads, fake_public_ads)
print("public_ads", public_ads)
# print("fake_public_ads", fake_public_ads)
self.assertDictEqual(public_ads, fake_public_ads_lbtc)
for currency, ads in public_ads.items():
ad_ids = [ad[0] for ad in ads]
@@ -91,7 +96,7 @@ class TestLBTC(TestCase):
def test_update_prices(self):
settings.settings.LocalBitcoins.Username = "Harrey"
# Override the providers
settings.settings.LocalBitcoins.ProviderList = '["REVOLUT", "NATIONAL_BANK"]'
settings.settings.LocalBitcoins.ProviderList = '["national-bank-transfer"]'
# Override enum_public_ads
self.lbtc.lbtc._api_call = self.mock_enum_public_ads_api_call
@@ -104,10 +109,8 @@ class TestLBTC(TestCase):
self.lbtc.slow_ad_update = MagicMock()
self.lbtc.update_prices()
print("CALL ARGS", self.lbtc.slow_ad_update.call_args_list)
call_args = self.lbtc.slow_ad_update.call_args_list[0][0][0]
print("EXPECTED", expected_to_update)
self.assertCountEqual(call_args, expected_to_update)
self.assertCountEqual(call_args, expected_to_update_lbtc)
def test_enum_public_ads(self):
# Override enum_public_ads
@@ -169,7 +172,7 @@ class TestLBTC(TestCase):
expected_return = []
# Let's manually calculate what it's supposed to look like
price_btc = cg_prices["bitcoin"]["usd"]
price_btc = cg_prices["bitcoin"]["gbp"]
for ad in deepcopy(enum_ads_return):
price = float(ad[2])
margin = round(price / price_btc, 2)