def movie_details(movie_id):
    #random_cover = tmdb_client.get_random_cover(movie_id)
    details = tmdb_client.get_single_movie(movie_id)
    cast = tmdb_client.get_single_movie_cast(movie_id)
    movie_images = tmdb_client.get_movie_images(movie_id)
    selected_backdrop = random.choice(movie_images['backdrops'])
    return render_template("movie_details.html", movie=details, cast=cast, selected_backdrop=selected_backdrop)
def test_get_single_movie_cast(monkeypatch):
    mock_movie_cast = {'Id': 1, 'cast': [1, 2]}
    call_tmdb_api_mock = Mock()
    call_tmdb_api_mock.return_value = mock_movie_cast
    monkeypatch.setattr("tmdb_client.call_tmdb_api", call_tmdb_api_mock)
    movie_cast = tmdb_client.get_single_movie_cast(movie_id=1)
    return movie_cast == mock_movie_cast
Esempio n. 3
0
def test_get_single_movie_cast(monkeypatch):
    mock_data = {'cast': [{'adult': False, 'gender': 2}]}
    api_mock = Mock(return_value=mock_data)
    monkeypatch.setattr("tmdb_client.call_tmdb_api", api_mock)
    api = tmdb_client.get_single_movie_cast(movie_id='movie_id')
    assert 'adult' and 'gender' in api[0]
    api == mock_data
Esempio n. 4
0
def test_get_single_movie_cast(monkeypatch):
    mock_cast = "Robert P"
    mock_single_movie = {"cast": mock_cast}
    requests_mock = Mock()
    requests_mock.return_value.json.return_value = mock_single_movie
    monkeypatch.setattr("tmdb_client.requests.get", requests_mock)
    single_movie_cast = tmdb_client.get_single_movie_cast(movie_id="696374")
    return single_movie_cast == mock_single_movie
def test_get_single_movie_cast(monkeypatch):
    movie_cast_mock = {'cast': 'Ja'}
    requests_mock = Mock()
    response = requests_mock.return_value
    response.json.return_value = movie_cast_mock
    monkeypatch.setattr("tmdb_client.requests.get", requests_mock)
    movie = tmdb_client.get_single_movie_cast(movie_id=1, how_many=2)
    assert movie == movie_cast_mock['cast']
Esempio n. 6
0
def test_get_single_movie_cast(monkeypatch):
    mock_single_movie_cast = {'cast': 'James Bond'}
    requests_mock = Mock()
    response = requests_mock.return_value
    response.json.return_value = mock_single_movie_cast
    monkeypatch.setattr("tmdb_client.requests.get", requests_mock)
    single_movie_cast = tmdb_client.get_single_movie_cast(movie_id=2)
    assert single_movie_cast == mock_single_movie_cast['cast']
Esempio n. 7
0
def movie_details(movie_id: int):
    movie = tmdb_client.get_single_movie(movie_id)
    cast = tmdb_client.get_single_movie_cast(movie_id, 8)

    backdrop = tmdb_client.get_random_movie_backdrop(movie_id)
    if backdrop:
        movie['backdrop_path'] = backdrop

    return render_template("movie_details.html", movie=movie, cast=cast)
Esempio n. 8
0
def movie_details(movie_id):
    details = tmdb_client.get_single_movie(movie_id)
    cast = tmdb_client.get_single_movie_cast(movie_id)[:8]
    images = tmdb_client.get_movie_images(movie_id)
    random_image = random.choice(images['backdrops'])
    return render_template("movie_details.html",
                           movie=details,
                           cast=cast,
                           image=random_image)
Esempio n. 9
0
def movie_details(movie_id):
    details = tmdb_client.get_single_movie(movie_id)
    cast = tmdb_client.get_single_movie_cast(movie_id, how_many=4)
    backdrops = tmdb_client.get_single_movie_images(movie_id)
    random.shuffle(backdrops['backdrops'])
    return render_template("movie_details.html",
                           movie=details,
                           cast=cast,
                           backdrops=backdrops)
Esempio n. 10
0
def movie_details(movie_id):
    details = tmdb_client.get_single_movie(movie_id)
    cast = tmdb_client.get_single_movie_cast(movie_id)[:12]
    movie_images = tmdb_client.get_movie_images(movie_id)
    selected_backdrop = random.choice(movie_images['backdrops'])['file_path']
    return render_template("movie_details.html",
                           movie=details,
                           cast=cast,
                           selected_backdrop=selected_backdrop)
Esempio n. 11
0
def test_get_popular_movies(monkeypatch):
    mock_get_popular_movies = {"cast": ['aaa', 'bbb']}
    requests_mock = Mock()
    response = requests_mock.return_value
    response.json.return_value = mock_get_popular_movies
    monkeypatch.setattr("tmdb_client.requests.get", requests_mock)

    single_movie_cast = tmdb_client.get_single_movie_cast("popular")
    assert single_movie_cast is not None
Esempio n. 12
0
def test_get_single_movie_cast(monkeypatch):
    mock_single_movie_cast = {}
    requests_mock = Mock()
    response = requests_mock.return_value
    response.json.return_value = mock_single_movie_cast
    monkeypatch.setattr("tmdb_client.requests.get", requests_mock)

    mock_movie_cast = tmdb_client.get_single_movie_cast(movie_id=000000)
    assert mock_movie_cast == mock_single_movie_cast
Esempio n. 13
0
def movie_details(movie_id):
    movie = tc.get_single_movie(movie_id)
    cast = tc.get_single_movie_cast(movie_id)["cast"][:8]
    images = tc.get_single_movie_images(movie_id)["backdrops"]
    random_image = sample(images, 1)
    image_url = random_image[0]['file_path']
    return render_template("movie_details.html",
                           movie=movie,
                           cast=cast,
                           image_url=image_url)
Esempio n. 14
0
def movie_details(movie_id):
    details = tmdb_client.get_single_movie(movie_id)
    backdrop_path = details["backdrop_path"]
    base_url_for_backdrop_path = "https://image.tmdb.org/t/p/w500/"
    ready_backdrop_path = f"{base_url_for_backdrop_path}{backdrop_path}"
    cast = tmdb_client.get_single_movie_cast(movie_id)
    return render_template("movie_details.html",
                           movie=details,
                           ready_backdrop_path=ready_backdrop_path,
                           cast=cast)
Esempio n. 15
0
def movie_details(movie_id):
    movie = tmdb_client.get_single_movie(movie_id)
    if request.method == "POST":
        if movie not in FAVORITES:
            FAVORITES.append(movie)
            flash(f"Dodano \"{movie['title']}\" do ulubionych!")
        else:
            flash(f"\"{movie['title']}\" już jest w ulubionych!")
        return redirect(url_for("homepage"))
    cast = tmdb_client.get_single_movie_cast(movie_id)
    return render_template("movie_details.html", movie=movie, cast=cast)
Esempio n. 16
0
def test_get_single_movie_cast(monkeypatch):
    mock_cast = {"cast": "XYZ"}
    request_mock = Mock()
    response = request_mock.return_value
    response.json.return_value = mock_cast
    monkeypatch.setattr("tmdb_client.requests.get", request_mock)

    cast = tmdb_client.get_single_movie_cast(5)
    print(cast)
    print(mock_cast)
    assert cast == mock_cast["cast"]
Esempio n. 17
0
def movie_details(movie_id):
    details = tmdb_client.get_single_movie(movie_id)
    cast_val = tmdb_client.get_single_movie_cast(movie_id)
    cast = cast_val["cast"]
    movie_images = tmdb_client.get_movie_images(movie_id)
    backdrop = random.choice(movie_images['backdrops'])
    link = backdrop["file_path"]
    selected_backdrop = f'https://image.tmdb.org/t/p/w780/{link}'
    return render_template("movie_details.html",
                           movie=details,
                           cast=cast,
                           picture=selected_backdrop)
Esempio n. 18
0
def test_get_single_movie_cast(monkeypatch):
    # Lista, którą będzie zwracać przysłonięte "zapytanie do API"
    mock_actor_details = ['cast_id', 'character', 'credit_id', 'gender']

    requests_mock = Mock()
    # Wynik wywołania zapytania do API
    response = requests_mock.return_value
    # Przysłaniamy wynik wywołania metody .json()
    response.json.return_value = {'cast': mock_actor_details}
    monkeypatch.setattr("tmdb_client.requests.get", requests_mock)
    # Dla przykładu bierzemy movie_id 497, to jest "Zielona Mila"
    actor_details = tmdb_client.get_single_movie_cast(movie_id=497, number=10)
    assert actor_details == mock_actor_details
def test_get_single_movie_cast(monkeypatch):
    # Lista, którą będzie zwracać przysłonięte "zapytanie do API"
    mock_actor_details = ['cast_id', 'character', 'credit_id', 'gender']
    
    requests_mock = Mock()
    # Wynik wywołania zapytania do API
    response = requests_mock.return_value
    # Przysłaniamy wynik wywołania metody .json()
    response.json.return_value = mock_actor_details
    monkeypatch.setattr("tmdb_client.requests.get", requests_mock)
    # Testujemy na movie_id=112
    actor_details = tmdb_client.get_single_movie_cast(movie_id=100)
    assert actor_details == mock_actor_details
Esempio n. 20
0
def test_get_single_movie_cast(monkeypatch):
    mock_cast = {
        'id':
        666,
        'cast': [{
            'adult': False,
            'gender': 1,
            'id': 10055,
            'known_for_department': 'Acting',
            'name': 'Fernanda Montenegro',
            'original_name': 'Fernanda Montenegro',
            'popularity': 0.899,
            'profile_path': '/bja0rn1BjAnA5Z5VbEvL2apvMT5.jpg',
            'cast_id': 29,
            'character': 'Isadora "Dora" Teixeira',
            'credit_id': '52fe4267c3a36847f801bb41',
            'order': 0
        }, {
            'adult': False,
            'gender': 2,
            'id': 10059,
            'known_for_department': 'Acting',
            'name': 'Vinícius de Oliveira',
            'original_name': 'Vinícius de Oliveira',
            'popularity': 1.015,
            'profile_path': '/eDMbfBmAZoT24vTbv0ecpC2MRnH.jpg',
            'cast_id': 31,
            'character': 'Josué Fontenele de Paiva',
            'credit_id': '52fe4267c3a36847f801bb49',
            'order': 1
        }, {
            'adult': False,
            'gender': 1,
            'id': 10057,
            'known_for_department': 'Acting',
            'name': 'Marília Pêra',
            'original_name': 'Marília Pêra',
            'popularity': 1.133,
            'profile_path': '/9gxyrjoTlBPjEp6SnISeFU4hVMs.jpg',
            'cast_id': 30,
            'character': 'Irene',
            'credit_id': '52fe4267c3a36847f801bb45',
            'order': 2
        }, {
            'adult': False,
            'gender': 2,
            'id': 10061,
            'known_for_department': 'Acting',
            'name': 'Othon Bastos',
            'original_name': 'Othon Bastos',
            'popularity': 1.693,
            'profile_path': '/86uykdZHCr1Stzg0fmUeQwIlsnc.jpg',
            'cast_id': 33,
            'character': 'César',
            'credit_id': '52fe4267c3a36847f801bb51',
            'order': 3
        }, {
            'adult': False,
            'gender': 2,
            'id': 10062,
            'known_for_department': 'Acting',
            'name': 'Otávio Augusto',
            'original_name': 'Otávio Augusto',
            'popularity': 2.705,
            'profile_path': '/b19b1hPh2IrAcvo1DAloVofHcq1.jpg',
            'cast_id': 34,
            'character': 'Pedrão',
            'credit_id': '52fe4267c3a36847f801bb55',
            'order': 4
        }, {
            'adult': False,
            'gender': 2,
            'id': 8600,
            'known_for_department': 'Acting',
            'name': 'Matheus Nachtergaele',
            'original_name': 'Matheus Nachtergaele',
            'popularity': 1.4,
            'profile_path': '/c8w75b4TlLdXEnnpAgd4R22NDGY.jpg',
            'cast_id': 36,
            'character': 'Isaías Paiva',
            'credit_id': '52fe4267c3a36847f801bb5d',
            'order': 5
        }, {
            'adult': False,
            'gender': 2,
            'id': 52584,
            'known_for_department': 'Acting',
            'name': 'Caio Junqueira',
            'original_name': 'Caio Junqueira',
            'popularity': 0.6,
            'profile_path': '/oO2ncA8EDcszRl4T3d82rPVRQ4w.jpg',
            'cast_id': 50,
            'character': 'Moisés Paiva',
            'credit_id': '5785198ac3a3684f94005830',
            'order': 6
        }, {
            'adult': False,
            'gender': 1,
            'id': 10063,
            'known_for_department': 'Acting',
            'name': 'Stela Freitas',
            'original_name': 'Stela Freitas',
            'popularity': 0.6,
            'profile_path': '/wip6RvU9Up5zze4Tifwq8EIpdIw.jpg',
            'cast_id': 35,
            'character': 'Yolanda',
            'credit_id': '52fe4267c3a36847f801bb59',
            'order': 7
        }, {
            'adult': False,
            'gender': 0,
            'id': 55011,
            'known_for_department': 'Acting',
            'name': 'Maria Menezes',
            'original_name': 'Maria Menezes',
            'popularity': 1.38,
            'profile_path': None,
            'cast_id': 55,
            'character': 'Waitress',
            'credit_id': '57851bc192514137c20042cf',
            'order': 8
        }, {
            'adult': False,
            'gender': 2,
            'id': 1337623,
            'known_for_department': 'Acting',
            'name': 'Sergio Kato',
            'original_name': 'Sergio Kato',
            'popularity': 1.286,
            'profile_path': '/pL1S4OlYO9bHtE9xXrIwJIWooxh.jpg',
            'cast_id': 58,
            'character': "Dora's Client",
            'credit_id': '57851ca4925141044a002852',
            'order': 9
        }, {
            'adult': False,
            'gender': 0,
            'id': 10060,
            'known_for_department': 'Acting',
            'name': 'Soia Lira',
            'original_name': 'Soia Lira',
            'popularity': 0.6,
            'profile_path': '/omMVXaJv8DgkdpAl1JLKLZ9QhE8.jpg',
            'cast_id': 32,
            'character': 'Ana Fontenele',
            'credit_id': '52fe4267c3a36847f801bb4d',
            'order': 10
        }, {
            'adult': False,
            'gender': 0,
            'id': 933139,
            'known_for_department': 'Acting',
            'name': 'Rita Assemany',
            'original_name': 'Rita Assemany',
            'popularity': 0.652,
            'profile_path': '/Aqsplr60u1QubIK7JCpZqTMnNQA.jpg',
            'cast_id': 51,
            'character': "Jessé's Wife",
            'credit_id': '57851a09c3a3685ae0004e99',
            'order': 11
        }, {
            'adult': False,
            'gender': 2,
            'id': 55010,
            'known_for_department': 'Acting',
            'name': 'Harildo Deda',
            'original_name': 'Harildo Deda',
            'popularity': 0.6,
            'profile_path': '/2hDKyomCoT2nrtmKnjhLBTR61lI.jpg',
            'cast_id': 52,
            'character': 'Bené',
            'credit_id': '57851a71c3a36867910029d9',
            'order': 12
        }, {
            'adult': False,
            'gender': 0,
            'id': 1511425,
            'known_for_department': 'Acting',
            'name': 'Gildásio Leite',
            'original_name': 'Gildásio Leite',
            'popularity': 0.6,
            'profile_path': None,
            'cast_id': 53,
            'character': 'Man in the bus',
            'credit_id': '57851ad892514137c2004265',
            'order': 13
        }, {
            'adult': False,
            'gender': 0,
            'id': 1364415,
            'known_for_department': 'Acting',
            'name': 'Nanego Lira',
            'original_name': 'Nanego Lira',
            'popularity': 0.6,
            'profile_path': '/qqjgCJgVFhkDHmnC7TYyFGzpZU4.jpg',
            'cast_id': 54,
            'character': 'Nordeste preacher',
            'credit_id': '57851b13c3a36857d9005022',
            'order': 14
        }, {
            'adult': False,
            'gender': 2,
            'id': 1331384,
            'known_for_department': 'Art',
            'name': 'José Pereira da Silva',
            'original_name': 'José Pereira da Silva',
            'popularity': 0.6,
            'profile_path': None,
            'cast_id': 56,
            'character': "Dora's Client",
            'credit_id': '57851c2dc3a3684ef7005d41',
            'order': 15
        }, {
            'adult': False,
            'gender': 0,
            'id': 230171,
            'known_for_department': 'Acting',
            'name': 'Everaldo Pontes',
            'original_name': 'Everaldo Pontes',
            'popularity': 0.6,
            'profile_path': '/jGYjtd1Iez626GzWBkULNpKhuHD.jpg',
            'cast_id': 57,
            'character': "Dora's Client",
            'credit_id': '57851c51c3a36820130017fd',
            'order': 16
        }, {
            'adult': False,
            'gender': 0,
            'id': 1415432,
            'known_for_department': 'Acting',
            'name': 'Inaldo Santana',
            'original_name': 'Inaldo Santana',
            'popularity': 0.6,
            'profile_path': None,
            'cast_id': 59,
            'character': "Dora's Client in Nordeste",
            'credit_id': '57851cdcc3a36857d900513b',
            'order': 17
        }, {
            'adult': False,
            'gender': 0,
            'id': 1200357,
            'known_for_department': 'Acting',
            'name': 'Gideon Rosa',
            'original_name': 'Gideon Rosa',
            'popularity': 0.6,
            'profile_path': None,
            'cast_id': 60,
            'character': 'Jessé',
            'credit_id': '57851d50c3a3685ae0005094',
            'order': 18
        }, {
            'adult': False,
            'gender': 0,
            'id': 2375801,
            'known_for_department': 'Acting',
            'name': 'Antonieta Noronha',
            'original_name': 'Antonieta Noronha',
            'popularity': 0.6,
            'profile_path': '/tdfYsuKvj4VfNNosLRx8nE8FXEK.jpg',
            'cast_id': 63,
            'character': 'Violeta',
            'credit_id': '5d42650f7719d7001162905e',
            'order': 19
        }]
    }

    requests_mock = Mock()
    requests_mock.return_value = mock_cast
    monkeypatch.setattr("tmdb_client.call_tmdb_api", requests_mock)
    assert tmdb_client.get_single_movie_cast(movie_id=666)
Esempio n. 21
0
def movie_details(movie_id):
    movie = tmdb_client.get_single_movie(movie_id)
    movie['backdrop_path'] = tmdb_client.get_random_backdrop(movie_id)
    movie_cast = tmdb_client.get_single_movie_cast(movie_id)
    return render_template("movie_details.html", movie=movie, movie_cast=movie_cast)
def test_get_single_movie_cast(monkeypatch):
    mock_cast = ['cast']
    call_tmdb_api(monkeypatch, mock_cast)
    cast = tmdb_client.get_single_movie_cast('531219')
    assert cast == mock_cast
Esempio n. 23
0
def test_get_single_movie_cast():
    mock_movie_cast = ['cast1', 'cast2']
    cast = tmdb_client.get_single_movie_cast(100)
    assert type(cast) == type(mock_movie_cast)
Esempio n. 24
0
def movie_details(movie_id):
    details = tmdb_client.get_single_movie(movie_id)
    cast = tmdb_client.get_single_movie_cast(movie_id)[:8]
    return render_template("movie_details.html", movie=details, cast=cast)
Esempio n. 25
0
def test_get_single_movie_cast(monkeypatch):
    api_mock = Mock(return_value={'cast': ['Actor 1', 'Actor 2']})
    movie_id = 10
    monkeypatch.setattr("tmdb_client.call_tmdb_api", api_mock)
    get_movie_cast = tmdb_client.get_single_movie_cast(movie_id=movie_id)
    assert get_movie_cast is not None
Esempio n. 26
0
def movie_full_cast(movie_id):
    details = tmdb_client.get_single_movie(movie_id)
    cast = tmdb_client.get_single_movie_cast(movie_id)
    return render_template("full_cast.html", movie=details, cast=cast)
Esempio n. 27
0
def test_get_single_movie_cast():
    movie = tmdb_client.get_single_movie_cast(547016)
    assert movie is not None