def test_post_reply(self, mock_reply): """Staff should be able to reply to the user who raised the flag""" test_text = 'Lorem ipsum' form = ProjectReviewTaskForm({'reply': test_text}) ok_(form.is_valid()) post_data = form.cleaned_data post_data.update({'action': 'reply', 'task': self.task.pk}) self.post_request(post_data) self.task.refresh_from_db() ok_(not self.task.resolved, 'The task should not automatically resolve when replying.') mock_reply.assert_called_with(test_text)
def test_post_reply_reject(self, mock_reply): """The task should optionally resolve when replying""" test_text = "Lorem ipsum" form = ProjectReviewTaskForm({"reply": test_text}) ok_(form.is_valid()) post_data = form.cleaned_data post_data.update({"action": "reject", "task": self.task.pk}) self.post_request(post_data) self.task.refresh_from_db() self.task.project.refresh_from_db() ok_(self.task.project.private, "The project should be made private.") ok_(self.task.resolved, "The task should be resolved.") mock_reply.assert_called_with(test_text, "rejected")
def test_post_reply_reject(self, mock_reply): """The task should optionally resolve when replying""" test_text = 'Lorem ipsum' form = ProjectReviewTaskForm({'reply': test_text}) ok_(form.is_valid()) post_data = form.cleaned_data post_data.update({'action': 'reject', 'task': self.task.pk}) self.post_request(post_data) self.task.refresh_from_db() self.task.project.refresh_from_db() ok_(self.task.project.private, 'The project should be made private.') ok_(self.task.resolved, 'The task should be resolved.') mock_reply.assert_called_with(test_text, 'rejected')
def task_post_helper(self, request, task, form_data=None): """Special post handler for ProjectReviewTasks""" form = ProjectReviewTaskForm(request.POST) if form.is_valid(): text = form.cleaned_data['reply'] action = request.POST.get('action', None) if action == 'reply': task.reply(text) elif action == 'approve': task.approve(text) task.resolve(request.user, {'action': 'approve'}) elif action == 'reject': task.reject(text) task.resolve(request.user, {'action': 'reject'}) return super(ProjectReviewTaskList, self).task_post_helper(request, task)
def task_post_helper(self, request, task, form_data=None): """Special post handler for ProjectReviewTasks""" form = ProjectReviewTaskForm(request.POST) if form.is_valid(): text = form.cleaned_data["reply"] action = request.POST.get("action", None) if action == "reply": task.reply(text) elif action == "approve": task.approve(text) task.resolve(request.user, {"action": "approve"}) elif action == "reject": task.reject(text) task.resolve(request.user, {"action": "reject"}) return super(ProjectReviewTaskList, self).task_post_helper(request, task)