class AdminActionsTestCase(TestCase): fixtures = ['test_users.json'] urls = 'moderation.tests.test_urls' def setUp(self): rf = RequestFactory() rf.login(username='******', password='******') self.request = rf.get('/admin/moderation/') self.request.user = User.objects.get(username='******') self.admin = ModeratedObjectAdmin(ModeratedObject, site) self.moderation = setup_moderation([User]) for user in User.objects.all(): ModeratedObject(content_object=user).save() self.moderated_objects = ModeratedObject.objects.all() def tearDown(self): teardown_moderation() def test_queryset_should_return_only_moderation_ready_objects(self): qs = self.admin.queryset(self.request) qs = qs.filter(moderation_state=MODERATION_DRAFT_STATE) self.assertEqual(list(qs), []) def test_approve_objects(self): approve_objects(self.admin, self.request, self.moderated_objects) for obj in ModeratedObject.objects.all(): self.assertEqual(obj.moderation_status, MODERATION_STATUS_APPROVED) def test_reject_objects(self): qs = ModeratedObject.objects.all() reject_objects(self.admin, self.request, qs) for obj in ModeratedObject.objects.all(): self.assertEqual(obj.moderation_status, MODERATION_STATUS_REJECTED) def test_set_objects_as_pending(self): for obj in self.moderated_objects: obj.approve(moderated_by=self.request.user) set_objects_as_pending(self.admin, self.request, self.moderated_objects) for obj in ModeratedObject.objects.all(): self.assertEqual(obj.moderation_status, MODERATION_STATUS_PENDING)