fix(plex): the recs rail's anchor and a held recommendation are named in the reader's language (E30 S1b)
Found in the S1b UAT: 'Mert megnézted: Batman Forever' kept the English title, and the info page's TMDB recommendations kept TMDB's English titles even for titles we hold. A held recommendation is now named as the library names it, in the reader's language; one we lack keeps TMDB's title.
This commit is contained in:
@@ -230,6 +230,25 @@ def _seed_rails(db):
|
||||
PlexPlaylistItem(playlist_id=pl.id, item_id=ep.id, position=1),
|
||||
]
|
||||
)
|
||||
# TMDB extras: m2 recommends m1 (held) and a title we lack; m1, watched, anchors the recs rail.
|
||||
m1.guid = "tmdb:1"
|
||||
m1.tmdb_enriched_at = datetime(2024, 1, 1, tzinfo=timezone.utc)
|
||||
m1.recommendations = [{"tmdb_id": 2, "title": "EN Only", "media_type": "movie"}]
|
||||
m2 = db.query(PlexItem).filter_by(rating_key="m2").one()
|
||||
m2.guid = "tmdb:2"
|
||||
m2.tmdb_enriched_at = datetime(2024, 1, 1, tzinfo=timezone.utc)
|
||||
m2.recommendations = [
|
||||
{"tmdb_id": 1, "title": "English Title", "media_type": "movie"},
|
||||
{"tmdb_id": 77, "title": "Elsewhere", "media_type": "movie"},
|
||||
]
|
||||
db.add(
|
||||
PlexState(
|
||||
user_id=user.id,
|
||||
item_id=m1.id,
|
||||
status="watched",
|
||||
watched_at=datetime(2024, 3, 1, tzinfo=timezone.utc),
|
||||
)
|
||||
)
|
||||
sysconfig.set_value(db, "plex_enabled", True)
|
||||
db.commit()
|
||||
return user, pl.id
|
||||
@@ -259,6 +278,14 @@ def test_every_card_rail_serves_the_readers_language(db, monkeypatch, override_d
|
||||
("Magyar Cím", None),
|
||||
("Kezdet", "Magyar Sorozat"),
|
||||
]
|
||||
# A recommendation we hold is named as the library names it; the rail's anchor too.
|
||||
recs = get("/api/plex/item/m2?lang=hu")["tmdb"]["recommendations"]
|
||||
assert [(r["title"], r["in_library"]) for r in recs] == [
|
||||
("Magyar Cím", True),
|
||||
("Elsewhere", False),
|
||||
]
|
||||
byw = get("/api/plex/discover?scope=both&lang=hu")["because_you_watched"]
|
||||
assert byw["anchor"]["title"] == "Magyar Cím"
|
||||
home = get("/api/discover?lang=hu")["continue_watching"]
|
||||
plex = [c for c in home if c["source"] == "plex"]
|
||||
assert [c["title"] for c in plex] == ["Magyar Sorozat"]
|
||||
|
||||
Reference in New Issue
Block a user