"""Mocked data.""" from datetime import date, datetime from src.logic.store_state import EXCLUDED_FEEDS from src.models.feed_status import Feed, FeedStatus, StoreInfo from src.models.store import Store from src.models.store_state import StoreState DATE_STR = '2025-08-13' DATE_STR_1 = '2025-08-11' DATE_STR_2 = '2025-08-10' DATE_STR_5 = '2025-08-08' TIME_STR = f'{DATE_STR}T15:26:14+00:00' DATE_OBJ = date.fromisoformat(DATE_STR) DATE_OBJ_1 = date.fromisoformat(DATE_STR_1) DATE_OBJ_2 = date.fromisoformat(DATE_STR_2) DATE_OBJ_5 = date.fromisoformat(DATE_STR_5) TIME_OBJ = datetime.fromisoformat(TIME_STR) MOCK_FEEDS_POOL = [ # Spotify: a straightforward case FeedStatus( feed=Feed(id=286, name='Spotify', store=StoreInfo(store_id=286, store_name='Spotify')), store_high_water_mark=DATE_OBJ, update_status='UPDATED', ), # Apple Music: two feeds, the function should pick the one with the EARLIER date FeedStatus( feed=Feed(id=1, name='Apple Music Main', store=StoreInfo(store_id=1, store_name='Apple Music')), store_high_water_mark=DATE_OBJ, update_status='UPDATED', ), FeedStatus( feed=Feed(id=2, name='Apple Music Alt', store=StoreInfo(store_id=1, store_name='Apple Music')), store_high_water_mark=DATE_OBJ_1, # This one should be chosen update_status='UPDATED', ), # Pandora: another straightforward case FeedStatus( feed=Feed(id=708, name='Pandora', store=StoreInfo(store_id=708, store_name='Pandora')), store_high_water_mark=DATE_OBJ_2, update_status='UPDATED', ), # An excluded feed (e.g., Amazon Downloads, id=16) that should be ignored FeedStatus( feed=Feed(id=EXCLUDED_FEEDS[0], name='Excluded Feed', store=StoreInfo(store_id=187, store_name='Amazon Music')), store_high_water_mark=DATE_OBJ_5, update_status='UPDATED', ), ] STATE_SPOTIFY_NEW = StoreState(store=Store.SPOTIFY, last_available_date=DATE_OBJ) STATE_SPOTIFY_OLD = StoreState(store=Store.SPOTIFY, last_available_date=DATE_OBJ_1) STATE_APPLE_NEW = StoreState(store=Store.APPLE_MUSIC, last_available_date=DATE_OBJ)