fix some tests
This commit is contained in:
+10
-7
@@ -1,4 +1,5 @@
|
||||
import hashlib
|
||||
import json
|
||||
|
||||
import pytest
|
||||
|
||||
@@ -144,7 +145,7 @@ async def test_create_invoice_fiat_amount(client, inkey_headers_to):
|
||||
)
|
||||
assert response.is_success
|
||||
res_data = response.json()
|
||||
extra = res_data["details"]["extra"]
|
||||
extra = json.loads(res_data["details"]["extra"])
|
||||
assert extra["fiat_amount"] == data["amount"]
|
||||
assert extra["fiat_currency"] == data["unit"]
|
||||
assert extra["fiat_rate"]
|
||||
@@ -501,13 +502,15 @@ async def test_fiat_tracking(client, adminkey_headers_from):
|
||||
|
||||
settings.lnbits_default_accounting_currency = "USD"
|
||||
payment = await create_invoice()
|
||||
assert payment["extra"]["wallet_fiat_currency"] == "USD"
|
||||
assert payment["extra"]["wallet_fiat_amount"] != payment["amount"]
|
||||
assert payment["extra"]["wallet_fiat_rate"]
|
||||
extra = json.loads(payment["extra"])
|
||||
assert extra["wallet_fiat_currency"] == "USD"
|
||||
assert extra["wallet_fiat_amount"] != payment["amount"]
|
||||
assert extra["wallet_fiat_rate"]
|
||||
|
||||
await update_currency("EUR")
|
||||
|
||||
payment = await create_invoice()
|
||||
assert payment["extra"]["wallet_fiat_currency"] == "EUR"
|
||||
assert payment["extra"]["wallet_fiat_amount"] != payment["amount"]
|
||||
assert payment["extra"]["wallet_fiat_rate"]
|
||||
extra = json.loads(payment["extra"])
|
||||
assert extra["wallet_fiat_currency"] == "EUR"
|
||||
assert extra["wallet_fiat_amount"] != payment["amount"]
|
||||
assert extra["wallet_fiat_rate"]
|
||||
|
||||
@@ -24,6 +24,12 @@ class DbTestModel2(BaseModel):
|
||||
child: DbTestModel
|
||||
|
||||
|
||||
class DbTestModel3(BaseModel):
|
||||
id: int
|
||||
child: DbTestModel2
|
||||
active: bool = False
|
||||
|
||||
|
||||
def get_random_string(iterations: int = 10):
|
||||
return "".join(
|
||||
random.SystemRandom().choice(string.ascii_uppercase + string.digits)
|
||||
|
||||
@@ -8,48 +8,63 @@ from lnbits.db import (
|
||||
model_to_dict,
|
||||
update_query,
|
||||
)
|
||||
from tests.helpers import DbTestModel, DbTestModel2
|
||||
from tests.helpers import DbTestModel, DbTestModel2, DbTestModel3
|
||||
|
||||
test_data = DbTestModel2(
|
||||
test_data = DbTestModel3(
|
||||
id=1,
|
||||
label="test",
|
||||
description="mydesc",
|
||||
child=DbTestModel(id=2, name="myname", value="myvalue"),
|
||||
child=DbTestModel2(
|
||||
id=2,
|
||||
label="test",
|
||||
description="mydesc",
|
||||
child=DbTestModel(id=3, name="myname", value="myvalue"),
|
||||
),
|
||||
active=True,
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_helpers_insert_query():
|
||||
q = insert_query("test_helpers_query", test_data)
|
||||
assert (
|
||||
q == "INSERT INTO test_helpers_query (id, label, description, child) "
|
||||
"VALUES (:id, :label, :description, :child)"
|
||||
assert q == (
|
||||
"INSERT INTO test_helpers_query (id, child, active) "
|
||||
"VALUES (:id, :child, :active)"
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_helpers_update_query():
|
||||
q = update_query("test_helpers_query", test_data)
|
||||
assert (
|
||||
q == "UPDATE test_helpers_query "
|
||||
"SET id = :id, label = :label, description = :description, child = :child "
|
||||
"WHERE id = :id"
|
||||
assert q == (
|
||||
"UPDATE test_helpers_query "
|
||||
"SET id = :id, child = :child, active = :active WHERE id = :id"
|
||||
)
|
||||
|
||||
|
||||
child_dict = json.dumps({"id": 2, "name": "myname", "value": "myvalue"})
|
||||
test_dict = {"id": 1, "label": "test", "description": "mydesc", "child": child_dict}
|
||||
child_json = json.dumps(
|
||||
{
|
||||
"id": 2,
|
||||
"label": "test",
|
||||
"description": "mydesc",
|
||||
"child": {"id": 3, "name": "myname", "value": "myvalue"},
|
||||
}
|
||||
)
|
||||
test_dict = {"id": 1, "child": child_json, "active": True}
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_helpers_model_to_dict():
|
||||
d = model_to_dict(test_data)
|
||||
assert d.get("id") == test_data.id
|
||||
assert d.get("active") == test_data.active
|
||||
assert d.get("child") == child_json
|
||||
assert d == test_dict
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_helpers_dict_to_model():
|
||||
m = dict_to_model(test_dict, DbTestModel2)
|
||||
m = dict_to_model(test_dict, DbTestModel3)
|
||||
assert m == test_data
|
||||
assert type(m) is DbTestModel2
|
||||
assert type(m.child) is DbTestModel
|
||||
assert type(m) is DbTestModel3
|
||||
assert m.active is True
|
||||
assert type(m.child) is DbTestModel2
|
||||
assert type(m.child.child) is DbTestModel
|
||||
|
||||
Reference in New Issue
Block a user