31 lines
793 B
Python
31 lines
793 B
Python
import json
|
|
import os
|
|
from dataclasses import asdict
|
|
|
|
import pytest
|
|
|
|
from hpoi.models.figure import Figure
|
|
from hpoi.models.tag import Tag
|
|
|
|
|
|
async def common_figure_test(hpoi_id):
|
|
figure = await Figure.from_hpoi_id(hpoi_id)
|
|
assert figure is not None
|
|
assert isinstance(figure, Figure)
|
|
return figure
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_figures():
|
|
with open(
|
|
os.path.join(os.path.dirname(__file__), "test_data/figures.json")
|
|
) as file:
|
|
test_cases: list[dict] = json.load(file)["figures"]
|
|
|
|
for test_case in test_cases:
|
|
figure_test_case = Figure(**test_case)
|
|
figure_hpoi = asdict(await Figure.from_hpoi_id(figure_test_case.hpoi_id))
|
|
|
|
for parameter, value in test_case.items():
|
|
assert value == figure_hpoi[parameter]
|