fix some tests

This commit is contained in:
dni ⚡
2024-10-10 09:08:10 +02:00
parent f06b29dd82
commit 382154b04a
6 changed files with 114 additions and 103 deletions
+10 -7
View File
@@ -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"]
+6
View File
@@ -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)
+32 -17
View File
@@ -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