wip: estado de trabajo pendiente antes de la vista grid (suite 230 verde)

This commit is contained in:
urieljareth
2026-08-22 19:37:23 -06:00
parent 4f5a68b572
commit 8a59b39c98
103 changed files with 70954 additions and 1825 deletions
+31
View File
@@ -100,6 +100,37 @@ def test_query_videos_filters(seeded_store):
assert rows3[0].video_id == "v2"
def test_upsert_videos_reports_only_new_rows(seeded_store):
inserted = seeded_store.upsert_videos([
VideoRef("v1", "UC1", "Updated title", "https://y/watch?v=v1", "20240101", 120),
VideoRef("v4", "UC1", "New video", "https://y/watch?v=v4", "20240501", 180),
])
assert inserted == 1
assert seeded_store.get_video("v1").title == "Updated title"
assert seeded_store.get_video("v4").status == "pending"
def test_upload_sort_uses_discovered_time_when_date_is_missing(seeded_store):
seeded_store.upsert_videos([
VideoRef("recent", "UC1", "Recent discovered", "https://y/watch?v=recent"),
])
rows, _ = seeded_store.query_videos(channel_id="UC1", sort="upload_date", page=1, size=1)
assert rows[0].video_id == "recent"
def test_mark_status_clears_stale_error_message(seeded_store):
seeded_store.mark_error("v1", "temporary extraction failure")
seeded_store.mark_status("v1", "no_subtitles")
video = seeded_store.get_video("v1")
assert video.status == "no_subtitles"
assert video.error_msg is None
def test_cookie_vault(store):
from yt_scraper import cookies
sample = (