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]
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]
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]
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
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]