Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Der-Henning
GitHub Repository: Der-Henning/tgtg
Path: blob/main/tests/test_item.py
1494 views
1
import pytest
2
3
from tgtg_scanner.models.item import Item
4
5
6
def test_item(tgtg_item: dict, monkeypatch: pytest.MonkeyPatch):
7
item = Item(tgtg_item)
8
assert item.item_id == tgtg_item.get("item", {}).get("item_id")
9
assert item.display_name == tgtg_item.get("display_name")
10
assert item.items_available == tgtg_item.get("items_available")
11
assert item.favorite == "No"
12
assert item.pickup_location == tgtg_item.get("pickup_location", {}).get("address", {}).get("address_line", "-")
13
assert item.rating == "3.6"
14
assert item.packaging_option == tgtg_item.get("item", {}).get("packaging_option", "-")
15
assert item.item_name == tgtg_item.get("item", {}).get("name", "-")
16
assert item.buffet == "No"
17
assert item.item_category == tgtg_item.get("item", {}).get("item_category", "-")
18
assert item.description == tgtg_item.get("item", {}).get("description", "-")
19
assert item.link == "https://share.toogoodtogo.com/item/774625"
20
assert item.price == "€3.00"
21
assert item.value == "€9.00"
22
assert item.currency == "EUR"
23
assert item.store_name == tgtg_item.get("store", {}).get("store_name", "-")
24
assert item.item_logo == tgtg_item.get("item", {}).get("logo_picture", {}).get("current_url", "-")
25
assert item.item_cover == tgtg_item.get("item", {}).get("cover_picture", {}).get("current_url", "-")
26
27
28
def test_item_pickupdate_24h_format(tgtg_item: dict):
29
"""Test pickup date formatting with 24-hour time format."""
30
item = Item(tgtg_item, time_format="24h")
31
pickupdate = item.pickupdate
32
# The pickup time should be formatted as 24-hour with colon separator (e.g., "19:00 - 19:30")
33
# Check that it contains the colon format and doesn't contain AM/PM
34
assert ":" in pickupdate
35
assert " - " in pickupdate
36
assert "AM" not in pickupdate
37
assert "PM" not in pickupdate
38
39
40
def test_item_pickupdate_12h_format(tgtg_item: dict):
41
"""Test pickup date formatting with 12-hour time format."""
42
item = Item(tgtg_item, time_format="12h")
43
pickupdate = item.pickupdate
44
# The pickup time should be formatted as 12-hour with AM/PM (e.g., "07:00 PM - 07:30 PM")
45
assert "PM" in pickupdate or "AM" in pickupdate
46
assert ":" in pickupdate
47
48