37 lines
1.6 KiB
Python
37 lines
1.6 KiB
Python
from tests.conftest import insert_monitored_release, insert_watched_artist
|
|
|
|
|
|
def test_watched_artist_and_release_round_trip(conn):
|
|
artist_id = insert_watched_artist(conn, mbid="mbid-1", name="John Mayer", auto_monitor_future=True)
|
|
rel_id = insert_monitored_release(
|
|
conn, watched_artist_id=artist_id, artist_mbid="mbid-1", artist_name="John Mayer",
|
|
rg_mbid="rg-1", album="Continuum", primary_type="Album",
|
|
secondary_types=["Live"], first_release_date="2006-09-12", monitored=True,
|
|
)
|
|
with conn.cursor() as cur:
|
|
cur.execute(
|
|
'SELECT "watchedArtistId", album, "primaryType", "secondaryTypes", '
|
|
'monitored, state FROM "MonitoredRelease" WHERE id = %s',
|
|
(rel_id,),
|
|
)
|
|
row = cur.fetchone()
|
|
assert row == (artist_id, "Continuum", "Album", ["Live"], True, "wanted")
|
|
|
|
|
|
def test_request_has_nullable_monitored_release_link(conn):
|
|
rel_id = insert_monitored_release(
|
|
conn, watched_artist_id=None, artist_mbid="mbid-2", artist_name="X",
|
|
rg_mbid="rg-2", album="Y", monitored=True,
|
|
)
|
|
with conn.cursor() as cur:
|
|
cur.execute(
|
|
'INSERT INTO "Request" (id, artist, album, status, "monitoredReleaseId", "createdAt") '
|
|
"VALUES (gen_random_uuid()::text, 'X', 'Y', 'pending', %s, now()) RETURNING id",
|
|
(rel_id,),
|
|
)
|
|
req_id = cur.fetchone()[0]
|
|
conn.commit()
|
|
with conn.cursor() as cur:
|
|
cur.execute('SELECT "monitoredReleaseId" FROM "Request" WHERE id = %s', (req_id,))
|
|
assert cur.fetchone()[0] == rel_id
|