from lyra_worker.adapters.fakes import FakeMbBrowser from lyra_worker.browser import ReleaseGroupInfo from lyra_worker.monitor import MonitorConfig, sweep from tests.conftest import insert_watched_artist CFG = MonitorConfig(enabled=True) def test_sweep_discovers_then_enqueues(conn): insert_watched_artist(conn, mbid="a1", name="John Mayer", auto_monitor_future=True) browser = FakeMbBrowser( releases={"a1": [ReleaseGroupInfo("rg-new", "New", "Album", (), "2999-01-01")]} ) sweep(conn, browser, CFG) with conn.cursor() as cur: cur.execute( 'SELECT count(*) FROM "Request" r ' 'JOIN "MonitoredRelease" mr ON mr.id = r."monitoredReleaseId" ' 'WHERE mr."rgMbid" = %s', ("rg-new",), ) assert cur.fetchone()[0] == 1 # the newly-discovered monitored release got a job