Formatting
This commit is contained in:
@@ -1,19 +1,18 @@
|
||||
"""Tests for JSON repositories."""
|
||||
import pytest
|
||||
from datetime import datetime
|
||||
|
||||
from infrastructure.persistence.json import (
|
||||
JsonMovieRepository,
|
||||
JsonTVShowRepository,
|
||||
JsonSubtitleRepository,
|
||||
)
|
||||
|
||||
from domain.movies.entities import Movie
|
||||
from domain.movies.value_objects import MovieTitle, ReleaseYear, Quality
|
||||
from domain.tv_shows.entities import TVShow
|
||||
from domain.tv_shows.value_objects import ShowStatus
|
||||
from domain.movies.value_objects import MovieTitle, Quality, ReleaseYear
|
||||
from domain.shared.value_objects import FilePath, FileSize, ImdbId
|
||||
from domain.subtitles.entities import Subtitle
|
||||
from domain.subtitles.value_objects import Language, SubtitleFormat, TimingOffset
|
||||
from domain.shared.value_objects import ImdbId, FilePath, FileSize
|
||||
from domain.tv_shows.entities import TVShow
|
||||
from domain.tv_shows.value_objects import ShowStatus
|
||||
from infrastructure.persistence.json import (
|
||||
JsonMovieRepository,
|
||||
JsonSubtitleRepository,
|
||||
JsonTVShowRepository,
|
||||
)
|
||||
|
||||
|
||||
class TestJsonMovieRepository:
|
||||
@@ -224,7 +223,9 @@ class TestJsonTVShowRepository:
|
||||
"""Should preserve show status."""
|
||||
repo = JsonTVShowRepository()
|
||||
|
||||
for i, status in enumerate([ShowStatus.ONGOING, ShowStatus.ENDED, ShowStatus.UNKNOWN]):
|
||||
for i, status in enumerate(
|
||||
[ShowStatus.ONGOING, ShowStatus.ENDED, ShowStatus.UNKNOWN]
|
||||
):
|
||||
show = TVShow(
|
||||
imdb_id=ImdbId(f"tt{i+1000000:07d}"),
|
||||
title=f"Show {status.value}",
|
||||
@@ -294,18 +295,22 @@ class TestJsonSubtitleRepository:
|
||||
def test_find_by_media_with_language_filter(self, memory):
|
||||
"""Should filter by language."""
|
||||
repo = JsonSubtitleRepository()
|
||||
repo.save(Subtitle(
|
||||
media_imdb_id=ImdbId("tt1375666"),
|
||||
language=Language.ENGLISH,
|
||||
format=SubtitleFormat.SRT,
|
||||
file_path=FilePath("/subs/en.srt"),
|
||||
))
|
||||
repo.save(Subtitle(
|
||||
media_imdb_id=ImdbId("tt1375666"),
|
||||
language=Language.FRENCH,
|
||||
format=SubtitleFormat.SRT,
|
||||
file_path=FilePath("/subs/fr.srt"),
|
||||
))
|
||||
repo.save(
|
||||
Subtitle(
|
||||
media_imdb_id=ImdbId("tt1375666"),
|
||||
language=Language.ENGLISH,
|
||||
format=SubtitleFormat.SRT,
|
||||
file_path=FilePath("/subs/en.srt"),
|
||||
)
|
||||
)
|
||||
repo.save(
|
||||
Subtitle(
|
||||
media_imdb_id=ImdbId("tt1375666"),
|
||||
language=Language.FRENCH,
|
||||
format=SubtitleFormat.SRT,
|
||||
file_path=FilePath("/subs/fr.srt"),
|
||||
)
|
||||
)
|
||||
|
||||
results = repo.find_by_media(ImdbId("tt1375666"), language=Language.FRENCH)
|
||||
|
||||
@@ -315,22 +320,26 @@ class TestJsonSubtitleRepository:
|
||||
def test_find_by_media_with_episode_filter(self, memory):
|
||||
"""Should filter by season/episode."""
|
||||
repo = JsonSubtitleRepository()
|
||||
repo.save(Subtitle(
|
||||
media_imdb_id=ImdbId("tt0944947"),
|
||||
language=Language.ENGLISH,
|
||||
format=SubtitleFormat.SRT,
|
||||
file_path=FilePath("/subs/s01e01.srt"),
|
||||
season_number=1,
|
||||
episode_number=1,
|
||||
))
|
||||
repo.save(Subtitle(
|
||||
media_imdb_id=ImdbId("tt0944947"),
|
||||
language=Language.ENGLISH,
|
||||
format=SubtitleFormat.SRT,
|
||||
file_path=FilePath("/subs/s01e02.srt"),
|
||||
season_number=1,
|
||||
episode_number=2,
|
||||
))
|
||||
repo.save(
|
||||
Subtitle(
|
||||
media_imdb_id=ImdbId("tt0944947"),
|
||||
language=Language.ENGLISH,
|
||||
format=SubtitleFormat.SRT,
|
||||
file_path=FilePath("/subs/s01e01.srt"),
|
||||
season_number=1,
|
||||
episode_number=1,
|
||||
)
|
||||
)
|
||||
repo.save(
|
||||
Subtitle(
|
||||
media_imdb_id=ImdbId("tt0944947"),
|
||||
language=Language.ENGLISH,
|
||||
format=SubtitleFormat.SRT,
|
||||
file_path=FilePath("/subs/s01e02.srt"),
|
||||
season_number=1,
|
||||
episode_number=2,
|
||||
)
|
||||
)
|
||||
|
||||
results = repo.find_by_media(
|
||||
ImdbId("tt0944947"),
|
||||
|
||||
Reference in New Issue
Block a user