Пример #1
0
def test_load_playlist(mock_tasks):
    """Test load_playlist"""
    channel = VideoChannelFactory.create(playlists=None)
    playlist = PlaylistFactory.build()
    assert Playlist.objects.count() == 0
    assert Video.objects.count() == 0

    videos_records = VideoFactory.build_batch(5, published=True)
    videos_data = [model_to_dict(video) for video in videos_records]

    for video_data in videos_data:
        video_data["runs"] = [{
            "run_id": video_data["video_id"],
            "platform": video_data["platform"],
            "prices": [{
                "price": 0
            }],
        }]

    props = model_to_dict(playlist)

    del props["id"]
    del props["channel"]
    props["videos"] = videos_data

    result = load_playlist(channel, props)

    assert isinstance(result, Playlist)

    assert result.videos.count() == len(videos_records)
    assert result.channel == channel

    mock_tasks.get_video_topics.delay.assert_called_once_with(video_ids=list(
        result.videos.order_by("id").values_list("id", flat=True)))
Пример #2
0
def test_load_videos():
    """Verify that load_videos loads a list of videos"""
    assert Video.objects.count() == 0

    videos_records = VideoFactory.build_batch(5, published=True)
    videos_data = [model_to_dict(video) for video in videos_records]

    for video_data in videos_data:
        video_data["runs"] = [{
            "run_id": video_data["video_id"],
            "platform": video_data["platform"],
            "prices": [{
                "price": 0
            }],
        }]

    results = load_videos(videos_data)

    assert len(results) == len(videos_records)

    assert Video.objects.count() == len(videos_records)