def setUp(self): self.assessment = AssessmentFactory( partner=self.partner, completed_date=None, report=None, ) self.attachment = AttachmentFactory( file="test_file.pdf", file_type=None, code="", )
def setUpTestData(cls): cls.file_type_partner = AttachmentFileTypeFactory( code="partners_partner_assessment") cls.file_type_agreement = AttachmentFileTypeFactory( code="partners_agreement") cls.file_type_assessment = AttachmentFileTypeFactory( code="partners_assessment_report") cls.file_type_agreement_amendment = AttachmentFileTypeFactory( code="partners_agreement_amendment") cls.file_type_intervention_prc_review = AttachmentFileTypeFactory( code="partners_intervention_prc_review") cls.file_type_intervention_signed_pd = AttachmentFileTypeFactory( code="partners_intervention_signed_pd") cls.file_type_intervention_amendment = AttachmentFileTypeFactory( code="partners_intervention_amendment_signed") cls.file_type_intervention_attachment = AttachmentFileTypeFactory( code="partners_intervention_attachment") cls.partner = PartnerFactory() cls.core_values_assessment = CoreValuesAssessmentFactory( assessment="sample.pdf") cls.agreement = AgreementFactory(attached_agreement="sample.pdf") cls.assessment = AssessmentFactory(report="sample.pdf") cls.agreement_amendment = AgreementAmendmentFactory( signed_amendment="sample.pdf") cls.intervention = InterventionFactory( prc_review_document="prc_sample.pdf", signed_pd_document="pd_sample.pdf") cls.intervention_amendment = InterventionAmendmentFactory( signed_amendment="sample.pdf") cls.intervention_attachment = InterventionAttachmentFactory( attachment="sample.pdf")
def setUpTestData(cls): cls.code_1 = "test_code_1" cls.file_type_1 = AttachmentFileTypeFactory(code=cls.code_1) cls.code_2 = "test_code_2" cls.file_type_2 = AttachmentFileTypeFactory(code=cls.code_2) cls.unicef_staff = UserFactory(is_staff=True) cls.user = UserFactory() cls.url = reverse("attachments:list") cls.attachment_1 = AttachmentFactory( file_type=cls.file_type_1, code=cls.code_1, file="sample1.pdf", content_object=cls.file_type_1, uploaded_by=cls.unicef_staff ) cls.attachment_2 = AttachmentFactory( file_type=cls.file_type_2, code=cls.code_2, file="sample2.pdf", content_object=cls.file_type_2, uploaded_by=cls.user ) cls.partner = PartnerFactory( partner_type=PartnerType.UN_AGENCY, vendor_number="V123", ) cls.agreement = AgreementFactory(partner=cls.partner) cls.assessment = AssessmentFactory(partner=cls.partner) cls.amendment = AgreementAmendmentFactory(agreement=cls.agreement) cls.intervention = InterventionFactory(agreement=cls.agreement) cls.result_link = InterventionResultLinkFactory( intervention=cls.intervention ) cls.intervention_amendment = InterventionAmendmentFactory( intervention=cls.intervention ) cls.intervention_attachment = InterventionAttachmentFactory( intervention=cls.intervention ) cls.tpm_partner = SimpleTPMPartnerFactory(vendor_number="V432") cls.tpm_visit = TPMVisitFactory(tpm_partner=cls.tpm_partner) cls.tpm_activity = TPMActivityFactory( partner=cls.partner, intervention=cls.intervention, tpm_visit=cls.tpm_visit ) cls.engagement = EngagementFactory(partner=cls.partner) cls.default_partner_response = [{ "partner": "", "partner_type": "", "vendor_number": "", "pd_ssfa_number": "", "agreement_reference_number": "", "source": "", }] * 2
def test_assessment(self): assessment = AssessmentFactory(partner=self.partner) attachment = AttachmentFactory(content_object=assessment) file_path = models.generate_file_path(attachment, "test.pdf") self.assert_file_path(file_path, [ "assesments", str(assessment.pk), "test.pdf" ], "partners") # check against old file path function file_path_old = partner_models.get_assesment_path( assessment, "test.pdf" ) self.assertEqual(file_path, file_path_old)
def test_delete_error_report(self): assessment = AssessmentFactory( partner=self.partner, completed_date=None, ) response = self.forced_auth_req( 'delete', reverse('partners_api:partner-assessment-detail', args=[assessment.pk]), user=self.partnership_manager_user, ) self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST) self.assertEqual(response.data, ["Cannot delete a completed assessment"])
def setUp(self): super().setUp() self.assessment = AssessmentFactory(partner=self.partner, report="fake_report.pdf")
def setUp(self): super(TestPartnerOrganizationAssessmentModelExport, self).setUp() self.assessment = AssessmentFactory( partner=self.partner, report="fake_report.pdf" )
class TestPartnerOrganizationAssessmentUpdateDeleteView(BaseTenantTestCase): @classmethod def setUpTestData(cls): cls.unicef_staff = UserFactory(is_staff=True) cls.partner = PartnerFactory( partner_type=PartnerType.CIVIL_SOCIETY_ORGANIZATION, cso_type="International", hidden=False, vendor_number="DDD", short_name="Short name", ) cls.partner_staff = PartnerStaffFactory(partner=cls.partner) cls.partnership_manager_user = UserFactory(is_staff=True) cls.partnership_manager_user.groups.add(GroupFactory()) cls.partnership_manager_user.profile.partner_staff_member = cls.partner_staff.id cls.partnership_manager_user.save() def setUp(self): self.assessment = AssessmentFactory( partner=self.partner, completed_date=None, report=None, ) self.attachment = AttachmentFactory( file="test_file.pdf", file_type=None, code="", ) def test_post(self): assessment_qs = Assessment.objects.filter(partner=self.partner) assessment_count = assessment_qs.count() response = self.forced_auth_req( 'post', reverse('partners_api:partner-assessment'), user=self.partnership_manager_user, data={ "partner": self.partner.pk, "type": Assessment.TYPE_OTHER, "report_attachment": self.attachment.pk, "completed_date": datetime.date.today(), } ) self.assertEqual(response.status_code, status.HTTP_201_CREATED) self.assertEqual(assessment_qs.count(), assessment_count + 1) self.attachment.refresh_from_db() self.assertTrue(self.attachment.file_type) def test_patch(self): self.assertTrue(self.assessment.active) response = self.forced_auth_req( 'patch', reverse( 'partners_api:partner-assessment-detail', args=[self.assessment.pk] ), user=self.partnership_manager_user, data={ "active": False } ) self.assertEqual(response.status_code, status.HTTP_200_OK) self.assessment.refresh_from_db() self.assertFalse(self.assessment.active) def test_patch_permission(self): response = self.forced_auth_req( 'patch', reverse( 'partners_api:partner-assessment-detail', args=[self.assessment.pk] ), user=self.unicef_staff, data={ "active": False } ) self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN) def test_delete_valid(self): response = self.forced_auth_req( 'delete', reverse( 'partners_api:partner-assessment-detail', args=[self.assessment.pk] ), user=self.partnership_manager_user, ) self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT) def test_delete_error_completed_date(self): assessment = AssessmentFactory( partner=self.partner, report=None, ) response = self.forced_auth_req( 'delete', reverse( 'partners_api:partner-assessment-detail', args=[assessment.pk] ), user=self.partnership_manager_user, ) self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST) self.assertEqual(response.data, ["Cannot delete a completed assessment"]) def test_delete_error_report(self): assessment = AssessmentFactory( partner=self.partner, completed_date=None, ) response = self.forced_auth_req( 'delete', reverse( 'partners_api:partner-assessment-detail', args=[assessment.pk] ), user=self.partnership_manager_user, ) self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST) self.assertEqual(response.data, ["Cannot delete a completed assessment"]) def test_delete_permission(self): response = self.forced_auth_req( 'delete', reverse( 'partners_api:partner-assessment-detail', args=[self.assessment.pk] ), user=self.unicef_staff, ) self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN) def test_delete_not_found(self): response = self.forced_auth_req( 'delete', reverse( 'partners_api:partner-assessment-detail', args=[404] ), user=self.partnership_manager_user, ) self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
class TestPartnerOrganizationAssessmentUpdateDeleteView(BaseTenantTestCase): @classmethod def setUpTestData(cls): cls.unicef_staff = UserFactory(is_staff=True) cls.partner = PartnerFactory( partner_type=PartnerType.CIVIL_SOCIETY_ORGANIZATION, cso_type="International", hidden=False, vendor_number="DDD", short_name="Short name", ) cls.partner_staff = PartnerStaffFactory(partner=cls.partner) cls.partnership_manager_user = UserFactory(is_staff=True) cls.partnership_manager_user.groups.add(GroupFactory()) cls.partnership_manager_user.profile.partner_staff_member = cls.partner_staff.id cls.partnership_manager_user.save() def setUp(self): self.assessment = AssessmentFactory( partner=self.partner, completed_date=None, report=None, ) self.attachment = AttachmentFactory( file="test_file.pdf", file_type=None, code="", ) def test_post(self): assessment_qs = Assessment.objects.filter(partner=self.partner) assessment_count = assessment_qs.count() response = self.forced_auth_req( 'post', reverse('partners_api:partner-assessment'), user=self.partnership_manager_user, data={ "partner": self.partner.pk, "type": Assessment.TYPE_OTHER, "report_attachment": self.attachment.pk, "completed_date": datetime.date.today(), }) self.assertEqual(response.status_code, status.HTTP_201_CREATED) self.assertEqual(assessment_qs.count(), assessment_count + 1) self.attachment.refresh_from_db() self.assertTrue(self.attachment.file_type) def test_patch(self): self.assertTrue(self.assessment.active) response = self.forced_auth_req( 'patch', reverse('partners_api:partner-assessment-detail', args=[self.assessment.pk]), user=self.partnership_manager_user, data={"active": False}) self.assertEqual(response.status_code, status.HTTP_200_OK) self.assessment.refresh_from_db() self.assertFalse(self.assessment.active) def test_patch_permission(self): response = self.forced_auth_req( 'patch', reverse('partners_api:partner-assessment-detail', args=[self.assessment.pk]), user=self.unicef_staff, data={"active": False}) self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN) def test_delete_valid(self): response = self.forced_auth_req( 'delete', reverse('partners_api:partner-assessment-detail', args=[self.assessment.pk]), user=self.partnership_manager_user, ) self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT) def test_delete_error_completed_date(self): assessment = AssessmentFactory( partner=self.partner, report=None, ) response = self.forced_auth_req( 'delete', reverse('partners_api:partner-assessment-detail', args=[assessment.pk]), user=self.partnership_manager_user, ) self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST) self.assertEqual(response.data, ["Cannot delete a completed assessment"]) def test_delete_error_report(self): assessment = AssessmentFactory( partner=self.partner, completed_date=None, ) response = self.forced_auth_req( 'delete', reverse('partners_api:partner-assessment-detail', args=[assessment.pk]), user=self.partnership_manager_user, ) self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST) self.assertEqual(response.data, ["Cannot delete a completed assessment"]) def test_delete_permission(self): response = self.forced_auth_req( 'delete', reverse('partners_api:partner-assessment-detail', args=[self.assessment.pk]), user=self.unicef_staff, ) self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN) def test_delete_not_found(self): response = self.forced_auth_req( 'delete', reverse('partners_api:partner-assessment-detail', args=[404]), user=self.partnership_manager_user, ) self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)