コード例 #1
0
    def test_that_only_one_entry_created_for_one_review(self):
        self.assertEqual(LogEntry.objects.count(), 0)

        review1 = RecruitProjectReviewFactory()
        creators.log_project_competence_review_done(review1)
        creators.log_project_competence_review_done(review1)
        self.assertEqual(LogEntry.objects.count(), 1)

        review2 = RecruitProjectReviewFactory()
        creators.log_project_competence_review_done(review2)
        creators.log_project_competence_review_done(review2)
        self.assertEqual(LogEntry.objects.count(), 2)
コード例 #2
0
ファイル: api_views.py プロジェクト: Umuzi-org/Tilde
    def add_review(self, request, pk=None):
        card = self.get_object()
        serializer = self.get_serializer(data=request.data)
        if serializer.is_valid():
            if card.content_item.content_type == models.ContentItem.PROJECT:
                if card.recruit_project == None:
                    raise Http404

                review = models.RecruitProjectReview.objects.create(
                    status=serializer.data["status"],
                    timestamp=timezone.now(),
                    comments=serializer.data["comments"],
                    recruit_project=card.recruit_project,
                    reviewer_user=request.user,
                )
                log_creators.log_project_competence_review_done(review)

            elif card.content_item.content_type == models.ContentItem.TOPIC:
                if card.topic_progress == None:
                    raise Http404

                review = models.TopicReview.objects.create(
                    status=serializer.data["status"],
                    timestamp=timezone.now(),
                    comments=serializer.data["comments"],
                    topic_progress=card.topic_progress,
                    reviewer_user=request.user,
                )

                log_creators.log_topic_competence_review_done(review)

            card.refresh_from_db()
            if card.status == models.AgileCard.REVIEW_FEEDBACK:
                log_creators.log_card_moved_to_review_feedback(
                    card, request.user)
            elif card.status == models.AgileCard.COMPLETE:
                log_creators.log_card_moved_to_complete(card, request.user)

            return Response(serializers.AgileCardSerializer(card).data)
        else:
            return Response(serializer.errors,
                            status=status.HTTP_400_BAD_REQUEST)
コード例 #3
0
 def test_log_topic_creator_is_invoked_for_a_topic_review_else_attribute_error_is_raised(
     self, ):
     review1 = TopicReviewFactory()
     with self.assertRaises(AttributeError) as exception:
         creators.log_project_competence_review_done(review1)
     self.assertEqual(LogEntry.objects.count(), 0)
コード例 #4
0
 def test_that_timestamp_properly_set(self):
     review = RecruitProjectReviewFactory()
     creators.log_project_competence_review_done(review)
     self.assertEqual(LogEntry.objects.first().timestamp, review.timestamp)