コード例 #1
0
ファイル: base.py プロジェクト: alhadheri/etools
    def setUp(self):
        super(AuditTestCaseMixin, self).setUp()
        EmailTemplate.objects.get_or_create(name='audit/staff_member/invite')
        EmailTemplate.objects.get_or_create(
            name='audit/engagement/submit_to_auditor')
        EmailTemplate.objects.get_or_create(
            name='audit/engagement/reported_by_auditor')

        GroupWrapper.invalidate_instances()

        self.auditor_firm = AuditPartnerFactory()

        self.auditor = UserFactory(
            auditor=True,
            partner_firm=self.auditor_firm,
            profile__countries_available=[connection.tenant])
        self.unicef_user = UserFactory(
            first_name='UNICEF User',
            unicef_user=True,
            profile__countries_available=[connection.tenant])
        self.unicef_focal_point = UserFactory(
            first_name='UNICEF Audit Focal Point',
            audit_focal_point=True,
            profile__countries_available=[connection.tenant])
        self.usual_user = UserFactory(
            first_name='Unknown user',
            profile__countries_available=[connection.tenant])
コード例 #2
0
ファイル: test_views.py プロジェクト: adi130987/etools
    def test_user_search_view(self):
        UserFactory()
        user = UserFactory(email='*****@*****.**')

        response = self.forced_auth_req('get',
                                        '/api/audit/audit-firms/users/',
                                        user=self.unicef_user,
                                        data={'search': user.email})
        self.assertEqual(response.status_code, status.HTTP_200_OK)
        self.assertEqual(len(response.data), 1)
        self.assertIsNone(response.data[0]['auditor_firm'])
コード例 #3
0
ファイル: test_views.py プロジェクト: adi130987/etools
    def test_global_search(self):
        UserFactory()
        user = UserFactory()

        response = self.forced_auth_req(
            'get',
            '/api/audit/audit-firms/users/',
            data={'email': user.email},
            user=self.unicef_focal_point,
        )
        self.assertEqual(response.status_code, status.HTTP_200_OK)
        self.assertEqual(len(response.data), 1)
        self.assertEqual(response.data[0]['email'], user.email)
コード例 #4
0
ファイル: test_views.py プロジェクト: adi130987/etools
    def test_auditor_search_view(self):
        UserFactory()
        auditor = UserFactory(auditor=True, email='*****@*****.**')

        response = self.forced_auth_req('get',
                                        '/api/audit/audit-firms/users/',
                                        user=self.unicef_user,
                                        data={'search': auditor.email})
        self.assertEqual(response.status_code, status.HTTP_200_OK)
        self.assertEqual(len(response.data), 1)
        self.assertEqual(
            response.data[0]['auditor_firm'],
            auditor.purchase_order_auditorstaffmember.auditor_firm.id)
コード例 #5
0
    def test_submit_filled_report(self):
        UserFactory(audit_focal_point=True,
                    profile__countries_available=[connection.tenant])
        UserFactory(audit_focal_point=True, profile__countries_available=[]
                    )  # user doesn't belong to this country

        self._init_filled_engagement()
        mail.outbox = []

        self.engagement.submit()

        self.assertEqual(
            len(mail.outbox),
            2)  # self.audit_focal_point + first created focal point
コード例 #6
0
ファイル: test_views.py プロジェクト: adi130987/etools
    def test_staff_search(self):
        UserFactory(auditor=True, partner_firm=self.auditor_firm)
        user = UserFactory(auditor=True,
                           partner_firm=self.auditor_firm,
                           email='*****@*****.**')

        response = self.forced_auth_req(
            'get',
            '/api/audit/audit-firms/{}/staff-members/'.format(
                self.auditor_firm.id),
            data={'search': 'test_unique'},
            user=self.unicef_focal_point,
        )
        self.assertEqual(response.status_code, status.HTTP_200_OK)
        self.assertEqual(response.data['count'], 1)
        self.assertEqual(response.data['results'][0]['user']['email'],
                         user.email)
コード例 #7
0
    def test_deactivate_auditor_flow(self):
        user = UserFactory(auditor=True,
                           partner_firm=self.auditor_firm,
                           is_active=True)

        list_response = self.forced_auth_req(
            'get',
            '/api/audit/audit-firms/{}/staff-members/'.format(
                self.auditor_firm.id),
            user=self.unicef_focal_point)

        self.assertEqual(list_response.status_code, status.HTTP_200_OK)
        self.assertIn(user.purchase_order_auditorstaffmember.id,
                      [r['id'] for r in list_response.data['results']])

        del_response = self.forced_auth_req(
            'delete',
            '/api/audit/audit-firms/{}/staff-members/{}/'.format(
                self.auditor_firm.id,
                user.purchase_order_auditorstaffmember.id),
            user=self.unicef_focal_point)
        self.assertEqual(del_response.status_code, status.HTTP_204_NO_CONTENT)

        deleted_list_response = self.forced_auth_req(
            'get',
            '/api/audit/audit-firms/{}/staff-members/'.format(
                self.auditor_firm.id),
            user=self.unicef_focal_point)

        self.assertEqual(deleted_list_response.status_code, status.HTTP_200_OK)
        self.assertNotIn(
            user.purchase_order_auditorstaffmember.id,
            [r['id'] for r in deleted_list_response.data['results']])

        activate_response = self.forced_auth_req(
            'patch',
            '/api/audit/audit-firms/{}/staff-members/{}/'.format(
                self.auditor_firm.id,
                user.purchase_order_auditorstaffmember.id),
            user=self.unicef_focal_point,
            data={
                'hidden': False,
                'user': {
                    'is_active': True
                }
            })
        self.assertEqual(activate_response.status_code, status.HTTP_200_OK)

        updated_list_response = self.forced_auth_req(
            'get',
            '/api/audit/audit-firms/{}/staff-members/'.format(
                self.auditor_firm.id),
            user=self.unicef_focal_point)

        self.assertEqual(updated_list_response.status_code, status.HTTP_200_OK)
        self.assertIn(user.purchase_order_auditorstaffmember.id,
                      [r['id'] for r in list_response.data['results']])
コード例 #8
0
ファイル: test_views.py プロジェクト: adi130987/etools
    def test_assign_existing_user(self):
        user = UserFactory(unicef_user=True)

        response = self.forced_auth_req(
            'post',
            '/api/audit/audit-firms/{0}/staff-members/'.format(
                self.auditor_firm.id),
            data={"user_pk": user.pk},
            user=self.unicef_focal_point)
        self.assertEqual(response.status_code, status.HTTP_201_CREATED)
        self.assertEqual(response.data['user']['email'], user.email)
コード例 #9
0
ファイル: test_views.py プロジェクト: adi130987/etools
    def test_assign_existing_auditor(self):
        user = UserFactory(auditor=True)

        response = self.forced_auth_req(
            'post',
            '/api/audit/audit-firms/{0}/staff-members/'.format(
                self.auditor_firm.id),
            data={"user_pk": user.pk},
            user=self.unicef_focal_point)
        self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
        self.assertIn('user', response.data)
        self.assertEqual(response.data['user'][0],
                         'User is already assigned to auditor firm.')
コード例 #10
0
ファイル: test_views.py プロジェクト: adi130987/etools
    def test_list_view_without_audit_organization(self):
        user = UserFactory(unicef_user=True)
        user.groups.add(Auditor.as_group())

        self._test_list(user, [self.engagement, self.second_engagement])
コード例 #11
0
 def setUpTestData(cls):
     cls.user = UserFactory()
     cls.microassessment = MicroAssessmentFactory()
     cls.attachment = AttachmentFactory(content_object=cls.microassessment)
コード例 #12
0
 def setUpTestData(cls):
     cls.user = UserFactory()
     cls.spotcheck = SpotCheckFactory()
     cls.attachment = AttachmentFactory(content_object=cls.spotcheck)
コード例 #13
0
 def setUpTestData(cls):
     cls.user = UserFactory()
     cls.engagement = EngagementFactory()
     cls.attachment = AttachmentFactory(content_object=cls.engagement)
コード例 #14
0
 def setUpTestData(cls):
     cls.user = UserFactory()
     cls.specialaudit = SpecialAuditFactory()
     cls.attachment = AttachmentFactory(content_object=cls.specialaudit)