Files
hotpocket/services/backend/testing/hotpocket_backend_testing/services/saves/saves.py
Tomek Wójcik d909391ee6
Some checks failed
CI / Checks (push) Has been cancelled
Release v1.0.0rc1
2025-08-18 07:09:27 +02:00

52 lines
1.7 KiB
Python

# -*- coding: utf-8 -*-
from __future__ import annotations
import typing
import uuid
from hotpocket_backend.apps.saves.models import Save
from hotpocket_testing.asserts import assert_datetimes_are_really_close
class SavesTestingService:
def assert_created(self,
*,
pk: uuid.UUID,
account_uuid: uuid.UUID,
url: str,
is_netloc_banned: bool,
**kwargs,
):
save = Save.objects.get(pk=pk)
assert save.account_uuid == account_uuid
assert save.url == url
assert save.last_processed_at is None
assert save.is_netloc_banned == is_netloc_banned
for field, expected_value in kwargs.items():
actual_value = getattr(save, field)
assert actual_value == expected_value, (
f'Value mismatch: field=`{field}` '
f'expected_value=`{expected_value}` '
f'actual_value=`{actual_value}`'
)
assert_datetimes_are_really_close(
save.created_at, save.updated_at,
)
def assert_reused(self,
pk: uuid.UUID,
reference: typing.Any,
):
save = Save.objects.get(pk=pk)
assert save.pk == reference.pk
assert save.account_uuid == reference.account_uuid
assert save.url == reference.url
assert save.title == reference.title
assert save.last_processed_at == reference.last_processed_at
assert save.is_netloc_banned == reference.is_netloc_banned
assert save.created_at == reference.created_at
assert save.updated_at == reference.updated_at