Ejemplo n.º 1
0
    def test_reviewed_filter(self):

        fault_utils.create_fault_review()
        rep = faults.FaultDetailsReport(
            report_opts={'review_status': "reviewed"})
        rep.report_format = "csv"
        context = rep.get_context()
        assert len(context['sites_data'][0][1]) == 1
Ejemplo n.º 2
0
    def test_unreviewed(self):
        """Two Faults created, only the unreviewed should be returned by the unreviewed manager"""

        utils.create_fault_review()
        unreviewed = utils.create_fault()

        assert Fault.objects.unreviewed().count() == 1
        assert Fault.objects.unreviewed().all()[0].pk == unreviewed.pk
Ejemplo n.º 3
0
    def test_to_table_reviewed(self):

        site = USite.objects.create(name="site")
        unit1 = utils.create_unit(site=site)
        fault_utils.create_fault(unit=unit1)

        unit2 = utils.create_unit()
        fault2 = fault_utils.create_fault(unit=unit2)
        fault_rev = fault_utils.create_fault_review(fault=fault2)
        comment = Comment(submit_date=timezone.now(),
                          user=fault_rev.reviewed_by,
                          content_object=fault_rev.fault,
                          comment="comment",
                          site=get_current_site(None))
        comment.save()

        rep = faults.FaultSummaryReport(
            report_opts={'review_status': "reviewed"})
        rep.report_format = "csv"
        context = rep.get_context()
        table = rep.to_table(context)

        header_row = table.index([
            _("Fault ID"),
            _("Occurred"),
            _("Site"),
            _("Unit"),
            _("Fault Type"),
            _("Modality"),
            _("Link"),
        ])
        # should be one fault after header
        assert len(table[header_row + 1:]) == 1
Ejemplo n.º 4
0
 def test_unreview_fault(self):
     fault = utils.create_fault_review().fault
     review_url = reverse("fault_review", kwargs={'pk': fault.pk})
     resp = self.client.post(review_url)
     assert resp.status_code == 302
     fault.refresh_from_db()
     assert fault.faultreviewinstance_set.first() is None
Ejemplo n.º 5
0
    def test_upcoming_both_unreviewed_unit_group(self):
        utils.create_fault_review(fault=self.fault2, reviewed_by=self.user)

        notice = FaultsReviewNotice.objects.create(
            recipients=self.recipients,
            units=self.unit_group,
            notification_type=FaultsReviewNotice.UNREVIEWED,
            time="0:00",
        )
        expected = [
            {
                'unit__name': self.unit1.name,
                'fault_types__code': self.fault1.fault_types.first().code,
                'unit__name__count': 1,
                'fault_types__code__count': 1,
            },
        ]
        assert list(notice.faults_by_unit_fault_type()) == expected
Ejemplo n.º 6
0
    def test_edit_with_changed_reviews(self):
        """Test that editing a fault with existing reviewer works"""

        FaultType.objects.create(code="fault type")

        fault = utils.create_fault(user=self.user)
        rev_group = utils.create_fault_review_group()
        utils.create_fault_review(fault=fault,
                                  review_group=rev_group,
                                  reviewed_by=self.user)
        self.user.groups.add(rev_group.group)
        new_u = qa_utils.create_user()
        new_u.groups.add(rev_group.group)

        modality = u_models.Modality.objects.create(name="modality")
        fault.unit.modalities.add(modality)

        edit_url = reverse("fault_edit", kwargs={'pk': fault.pk})
        se = sl_utils.create_service_event()
        fault.related_service_events.add(se)

        data = {
            "fault-occurred": format_datetime(fault.occurred),
            "fault-unit": fault.unit.id,
            "fault-modality": modality.pk,
            "fault-fault_types_field": [fault.fault_types.first().code],
            "fault-comment": "",
            "fault-related_service_events": [se.pk],
            "review-form-0-group": rev_group.group.name,
            "review-form-0-reviewed_by": new_u.pk,
        }

        assert list(
            fault.faultreviewinstance_set.values_list(
                "reviewed_by_id", flat=True)) == [self.user.pk]
        resp = self.client.post(edit_url, data)
        assert resp.status_code == 302
        fault.refresh_from_db()
        assert fault.faultreviewinstance_set.count() == 1
        assert list(
            fault.faultreviewinstance_set.values_list(
                "reviewed_by_id", flat=True)) == [new_u.pk]
Ejemplo n.º 7
0
 def test_send_notice_not_empty(self):
     for fault in Fault.objects.all():
         utils.create_fault_review(fault=fault, reviewed_by=self.user)
     tasks.send_faultsreview_notice(self.notice.pk)
     self.notice.refresh_from_db()
     assert len(mail.outbox) == 0
Ejemplo n.º 8
0
 def test_review_complete_required_complete(self):
     rg_required = utils.create_fault_review_group()
     utils.create_fault_review_group(required=False)
     review = utils.create_fault_review(review_group=rg_required)
     assert review.fault.review_complete()
Ejemplo n.º 9
0
 def test_review_details_no_review_groups(self):
     review = utils.create_fault_review(review_group=False)
     assert review.fault.review_details() == [(None, review.reviewed_by,
                                               review.reviewed, False)]