Esempio n. 1
0
 def test_approval_activity_stream(self):
     member = TeamMember(user=self.user, team=self.team, role=TeamMember.ROLE_MANAGER)
     member.save()
     add_moderation(self.video, self.team, self.user)
     v1 = self._create_versions(self.video.subtitle_language(), num_versions=1)[0]
     count = Action.objects.all().count()
     approve_version(v1, self.team, self.user)
     self.assertEquals(count + 1, Action.objects.all().count())
     act  = Action.objects.all().order_by("-created")[0]
     act.action_type == Action.APPROVE_VERSION
Esempio n. 2
0
 def test_last_version_never_rejected(self):
     tv = self.team.teamvideo_set.all()[0]
     add_moderation(tv.video, tv.team, self.user)
     self.assertEquals(tv.team.get_pending_moderation().count() , 0)
     versions = self._create_versions( tv.video.subtitle_language(), num_versions=2)
     approve_version(versions[1], tv.team, self.user)
     remove_moderation(tv.video, tv.team, self.user)
     version = refresh_obj(versions[0])
     self.assertEquals(version.moderation_status , UNMODERATED)
     version = refresh_obj(versions[1])
     self.assertEquals(version.moderation_status , UNMODERATED)
Esempio n. 3
0
 def test_on_unmoderation_rejected_never_last(self):
    tv = self.team.teamvideo_set.all()[0]
    add_moderation(tv.video, tv.team, self.user)
    self.assertEquals(tv.team.get_pending_moderation().count() , 0)
    versions = self._create_versions( tv.video.subtitle_language(), num_versions=2)
    v0_subs_text = versions[0].subtitles()[0].text
    v1_subs_text = versions[1].subtitles()[0].text
    approve_version(versions[0], tv.team, self.user)
    num_versions = SubtitleVersion.objects.filter(language__video=tv.video).count()
    reject_version(versions[1], tv.team, self.user, None, self.user2)
    # we should roll back
    self.assertEquals(SubtitleVersion.objects.filter(language__video=tv.video).count(),num_versions +1)
    self.assertEquals( tv.video.subtitle_language().latest_version(), versions[0])
    remove_moderation(tv.video, tv.team, self.user)
    # the last one must be v0 -> the one approved
    self.assertEquals(tv.video.subtitle_language().latest_version().subtitles()[0].text , v0_subs_text)
Esempio n. 4
0
 def test_remove_moderation(self):
     reset_solr()
     add_moderation(self.video, self.team, self.user)
     lang = self.video.subtitle_language()
     [ self._make_subs(lang, 5) for x in xrange(0, 1)]
     self.assertEquals(self.team.get_pending_moderation().count(), 1)
     version = self.team.get_pending_moderation()[0]
     approve_version(version, self.team, self.user)
     self.assertEquals(self.team.get_pending_moderation().count(), 0)
     self._login(is_moderator=True)
     # dashboard should have no video to moderate
     form, results = _get_moderation_results(RequestMockup(self.user), self.team)
     self.assertEquals(0, results.count())        
     url = reverse("moderation:revision-remove-moderation", kwargs={"team_id":self.team.pk, "version_id":version.pk})
     response = self.client.post(url, {}, HTTP_X_REQUESTED_WITH='XMLHttpRequest')
     data = json.loads(response.content)
     self.assertEquals(response.status_code, 200)
     self.assertEquals(True, data["success"])
     self.assertEquals(self.team.get_pending_moderation().count(), 1)
     # dashboard should have one video to moderate
     form, results = _get_moderation_results(RequestMockup(self.user), self.team)
     self.assertEquals(1, results.count())
     reset_solr()
Esempio n. 5
0
        def test_moderated_subs_visibility(self):
            lang = self.video.subtitle_language()
            add_moderation(self.video, self.team, self.user)
            v0 = self._make_subs(lang, 5)
            self.assertEquals(v0.moderation_status , WAITING_MODERATION)
            approve_version(v0, self.team, self.user)
            v0 = SubtitleVersion.objects.get(pk=v0.pk)
            self.assertEquals(v0.moderation_status , APPROVED)
            lang = SubtitleLanguage.objects.get(pk=lang.pk)

            self.assertEquals(lang.version().pk, v0.pk)

            v1 = self._make_subs(lang, 5)
            lang = SubtitleLanguage.objects.get(pk=lang.pk)
            self.assertEquals(v1.moderation_status , WAITING_MODERATION)
            lang = SubtitleLanguage.objects.get(pk=lang.pk)
            version = lang.version()
            self.assertEquals(version, v0)
            approve_version(v1, self.team, self.user)
            v1 = SubtitleVersion.objects.get(pk=v1.pk)
            self.assertEquals(v1.moderation_status , APPROVED)
            lang = SubtitleLanguage.objects.get(pk=lang.pk)
            version = lang.version()
            self.assertEquals(version, v1)