Exemplo n.º 1
0
def test_invalidate_cache(team, video, member):
    # get_subtitles_completed() is cached.  Test that we invalidate the cache
    # correctly when the user creates more subtitles
    pipeline.add_subtitles(video, 'en', SubtitleSetFactory(),
                           author=member.user)
    subtitles_completed = experience.get_subtitles_completed([member])

    pipeline.add_subtitles(video, 'fr', SubtitleSetFactory(),
                           author=member.user)
    # get_subtitles_completed() will still be 1 if we didn't clear the cache
    member = reload_obj(member)
    subtitles_completed = experience.get_subtitles_completed([member])
    assert subtitles_completed == [2]
Exemplo n.º 2
0
def test_same_subtitles(team, video, member):
    # editing the same subtitle set twice should only result in a count of 1
    pipeline.add_subtitles(video, 'en', SubtitleSetFactory(),
                           author=member.user)
    pipeline.add_subtitles(video, 'en', SubtitleSetFactory(),
                           author=member.user)
    subtitles_completed = experience.get_subtitles_completed([member])
    assert subtitles_completed == [1]
Exemplo n.º 3
0
def test_multiple_users(team, video, member):
    member2 = TeamMemberFactory(team=team)
    member3 = TeamMemberFactory(team=team)
    pipeline.add_subtitles(video, 'en', SubtitleSetFactory(),
                           author=member.user)
    pipeline.add_subtitles(video, 'en', SubtitleSetFactory(),
                           author=member2.user)
    subtitles_completed = experience.get_subtitles_completed(
        [member, member2, member3])
    assert subtitles_completed == [1, 1, 0]
Exemplo n.º 4
0
    def add_experience_to_members(self, page):
        """
        Add experience attributes to a list of members

        We call this for the team members page to populate the experience
        column (usually subtitles completed).  This method should:

          - Set the experience attribute to each member to a TeamExperience object
          - Optionally, set the experience_extra attribute, which is a list of
            extra experience to show in the expanded view.
        """
        subtitles_completed = experience.get_subtitles_completed(page)
        for member, count in zip(page, subtitles_completed):
            member.experience_count = count
Exemplo n.º 5
0
def test_add_subtitles_completed(team, video, member):
    pipeline.add_subtitles(video, 'en', SubtitleSetFactory(),
                           author=member.user)

    subtitles_completed = experience.get_subtitles_completed([member])
    assert subtitles_completed == [1]