def test_filter_documentation_org_org_admin(self):
        group_org_admin = factories.Group(name=ROLE_ORGANIZATION_ADMIN)
        self.tola_user.user.groups.add(group_org_admin)

        country1 = factories.Country()
        wflvl1_1 = factories.WorkflowLevel1(
            name='WorkflowLevel1_1',
            country=[country1],
            organization=self.tola_user.organization)
        WorkflowTeam.objects.create(workflow_user=self.tola_user,
                                    workflowlevel1=wflvl1_1)
        documentation1 = factories.Documentation(name='Document 1',
                                                 workflowlevel1=wflvl1_1)

        country2 = factories.Country(country='Brazil', code='BR')
        wflvl1_2 = factories.WorkflowLevel1(
            name='WorkflowLevel1_2',
            country=[country2],
            organization=self.tola_user.organization)
        WorkflowTeam.objects.create(workflow_user=self.tola_user,
                                    workflowlevel1=wflvl1_2)
        factories.Documentation(name='Document 2', workflowlevel1=wflvl1_2)

        request = self.factory.get('/api/documentation'
                                   '/?workflowlevel1__country__country=%s' %
                                   country1.country)
        request.user = self.tola_user.user
        view = DocumentationViewSet.as_view({'get': 'list'})
        response = view(request)
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(response.data), 1)
        self.assertEqual(response.data[0]['name'], documentation1.name)
Beispiel #2
0
    def test_filter_collecteddata_country_org_admin(self):
        group_org_admin = factories.Group(name=ROLE_ORGANIZATION_ADMIN)
        self.tola_user.user.groups.add(group_org_admin)

        country1 = factories.Country(country='Brazil', code='BR')
        country2 = factories.Country(country='Germany', code='DE')
        wkflvl1_1 = factories.WorkflowLevel1(country=[country1])
        wkflvl1_2 = factories.WorkflowLevel1(country=[country2])
        WorkflowTeam.objects.create(workflow_user=self.tola_user,
                                    workflowlevel1=wkflvl1_1)
        WorkflowTeam.objects.create(workflow_user=self.tola_user,
                                    workflowlevel1=wkflvl1_2)
        indicator1 = factories.Indicator(workflowlevel1=[wkflvl1_1])
        indicator2 = factories.Indicator(workflowlevel1=[wkflvl1_2])
        collecteddata1 = factories.CollectedData(data_uuid=111,
                                                 indicator=indicator1)
        factories.CollectedData(data_uuid=222, indicator=indicator2)

        request = self.factory.get(
            '/api/collecteddata/?indicator__workflowlevel1__country__country=%s'
            % country1.country)
        request.user = self.tola_user.user
        view = CollectedDataViewSet.as_view({'get': 'list'})
        response = view(request)
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(response.data), 1)
        self.assertEqual(response.data[0]['data_uuid'],
                         str(collecteddata1.data_uuid))
    def test_filter_checklist_country_org_admin(self):
        group_org_admin = factories.Group(name=ROLE_ORGANIZATION_ADMIN)
        self.tola_user.user.groups.add(group_org_admin)

        country1 = factories.Country(country='Brazil', code='BR')
        country2 = factories.Country(country='Germany', code='DE')
        wkflvl1_1 = factories.WorkflowLevel1(
            organization=self.tola_user.organization, country=[country1])
        wkflvl1_2 = factories.WorkflowLevel1(
            organization=self.tola_user.organization, country=[country2])
        wkflvl2_1 = factories.WorkflowLevel2(workflowlevel1=wkflvl1_1)
        wkflvl2_2 = factories.WorkflowLevel2(workflowlevel1=wkflvl1_2)
        checklist1 = factories.Checklist(name='Checklist A',
                                         workflowlevel2=wkflvl2_1)
        factories.Checklist(name='Checklist B', workflowlevel2=wkflvl2_2)

        request = self.factory.get(
            '/api/checklist'
            '/?workflowlevel2__workflowlevel1__country__country=%s' %
            country1.country)
        request.user = self.tola_user.user
        view = ChecklistViewSet.as_view({'get': 'list'})
        response = view(request)
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(response.data), 1)
        self.assertEqual(response.data[0]['name'], checklist1.name)
    def test_filter_level_normaluser(self):
        country1 = factories.Country(country='Brazil', code='BR')
        country2 = factories.Country()
        level1 = factories.Level(name='Level 1',
                                 country=country1,
                                 organization=self.tola_user.organization)
        factories.Level(name='Level 2',
                        country=country2,
                        organization=self.tola_user.organization)

        request = self.factory.get('/api/level/?country__country=%s' %
                                   country1.country)
        request.user = self.tola_user.user
        view = LevelViewSet.as_view({'get': 'list'})
        response = view(request)
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(response.data), 1)
        self.assertEqual(response.data[0]['name'], level1.name)
Beispiel #5
0
    def test_filter_strategicobjective_normaluser(self):
        country1 = factories.Country(country='Brazil', code='BR')
        country2 = factories.Country()
        s_obj1 = factories.StrategicObjective(
            name='StrategicObjective1',
            country=country1,
            organization=self.tola_user.organization)
        factories.StrategicObjective(name='StrategicObjective2',
                                     country=country2,
                                     organization=self.tola_user.organization)

        request = self.factory.get(
            '/api/strategicobjective/?country__country=%s' % country1.country)
        request.user = self.tola_user.user
        view = StrategicObjectiveViewSet.as_view({'get': 'list'})
        response = view(request)
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(response.data), 1)
        self.assertEqual(response.data[0]['name'], s_obj1.name)
Beispiel #6
0
    def setUp(self):
        self.country = factories.Country()
        SiteProfile.objects.bulk_create([
            SiteProfile(name='SiteProfile1', country=self.country),
            SiteProfile(name='SiteProfile2', country=self.country),
        ])
        factories.Indicator.create_batch(2)

        self.factory = APIRequestFactory()
        self.tola_user = factories.TolaUser()
    def test_filter_workflowlevel2_wkflvl1_country_superuser(self):
        self.tola_user.user.is_staff = True
        self.tola_user.user.is_superuser = True
        self.tola_user.user.save()

        country1 = factories.Country(country='Brazil', code='BR')
        country2 = factories.Country(country='Germany', code='DE')
        wkflvl1_1 = factories.WorkflowLevel1(country=[country1])
        wkflvl1_2 = factories.WorkflowLevel1(country=[country2])
        wkflvl2 = factories.WorkflowLevel2(workflowlevel1=wkflvl1_1)
        factories.WorkflowLevel2(name='Develop brief survey',
                                 workflowlevel1=wkflvl1_2)

        request = self.factory.get(
            '/api/workflowlevel2/?workflowlevel1__country__country=%s' %
            country1.country)
        request.user = self.tola_user.user
        view = WorkflowLevel2ViewSet.as_view({'get': 'list'})
        response = view(request)
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(response.data), 1)
        self.assertEqual(response.data[0]['name'], wkflvl2.name)
Beispiel #8
0
    def test_filter_siteprofile_normaluser(self):
        site1 = factories.SiteProfile(name='SiteProfile1',
                                      country=self.country,
                                      organization=self.tola_user.organization)
        factories.SiteProfile(name='SiteProfile2',
                              country=factories.Country(),
                              organization=self.tola_user.organization)

        request = self.factory.get('/api/siteprofile/?country__country=%s' %
                                   self.country.country)
        request.user = self.tola_user.user
        view = SiteProfileViewSet.as_view({'get': 'list'})
        response = view(request)
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(response.data), 1)
        self.assertEqual(response.data[0]['name'], site1.name)
Beispiel #9
0
    def test_filter_siteprofile_superuser(self):
        self.tola_user.user.is_staff = True
        self.tola_user.user.is_superuser = True
        self.tola_user.user.save()

        site1 = factories.SiteProfile(name='SiteProfile1',
                                      country=self.country)
        factories.SiteProfile(name='SiteProfile2', country=factories.Country())

        request = self.factory.get('/api/siteprofile/?country__country=%s' %
                                   self.country.country)
        request.user = self.tola_user.user
        view = SiteProfileViewSet.as_view({'get': 'list'})
        response = view(request)
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(response.data), 1)
        self.assertEqual(response.data[0]['name'], site1.name)
Beispiel #10
0
    def test_restore_having_historical_dependent_data(self):
        organization = factories.Organization(name='Some org')
        country = factories.Country(country='Brazil', code='BR')
        factories.SiteProfile(organization=organization, country=country)
        siteprofile_history_id = SiteProfile.history.get(
            organization=organization).id

        args = ['--demo']
        opts = {}
        call_command('loadinitialdata', *args, **opts)

        args = ['--restore']
        opts = {}
        call_command('loadinitialdata', *args, **opts)
        self.assertRaises(SiteProfile.history.model.DoesNotExist,
                          SiteProfile.history.get,
                          id=siteprofile_history_id)
Beispiel #11
0
 def setUp(self):
     self.country = factories.Country()
     self.factory = APIRequestFactory()
     self.tola_user = factories.TolaUser()
Beispiel #12
0
 def setUp(self):
     self.country = factories.Country(country='Brazil', code='BR')
     self.factory = APIRequestFactory()
     self.tola_user = factories.TolaUser()
Beispiel #13
0
    def _create_countries(self):
        factories.Country(
            country="Afghanistan",
            code="AF",
            latitude="34.5333",
            longitude="69.1333",
        )

        factories.Country(
            country="Pakistan",
            code="PK",
            latitude="33.6667",
            longitude="73.1667",
        )

        factories.Country(
            country="Jordan",
            code="JO",
            latitude="31.9500",
            longitude="35.9333",
        )

        factories.Country(
            country="Lebanon",
            code="LB",
            latitude="33.9000",
            longitude="35.5333",
        )

        factories.Country(
            country="Ethiopia",
            code="ET",
            latitude="9.0167",
            longitude="38.7500",
        )

        factories.Country(
            country="Timor-Leste",
            code="TL",
            latitude="-8.3",
            longitude="125.5667",
        )

        factories.Country(
            country="Kenya",
            code="KE",
            latitude="-1.2833",
            longitude="36.8167",
        )

        factories.Country(
            country="Iraq",
            code="IQ",
            latitude="33.3333",
            longitude="44.4333",
        )

        factories.Country(
            country="Nepal",
            code="NP",
            latitude="26.5333",
            longitude="86.7333",
        )

        factories.Country(
            country="Mali",
            code="ML",
            latitude="17.6500",
            longitude="0.0000",
        )

        factories.Country(
            country="United States",
            code="US",
            latitude="45",
            longitude="-120",
        )

        factories.Country(
            country="Turkey",
            code="TR",
            latitude="39.9167",
            longitude="32.8333",
        )

        factories.Country(
            country="Syrian Arab Republic",
            code="SY",
            latitude="33.5000",
            longitude="36.3000",
        )

        factories.Country(
            country="China",
            code="CN",
        )

        factories.Country(
            country="India",
            code="IN",
        )

        factories.Country(
            country="Indonesia",
            code="ID",
        )

        factories.Country(
            country="Mongolia",
            code="MN",
        )

        factories.Country(
            country="Myanmar",
            code="MY",
            latitude="21.9162",
            longitude="95.9560",
        )

        factories.Country(
            country="Palestine",
            code="PS",
            latitude="31.3547",
            longitude="34.3088",
        )

        factories.Country(
            country="South Sudan",
            code="SS",
            latitude="6.8770",
            longitude="31.3070",
        )

        factories.Country(
            country="Uganda",
            code="UG",
            latitude="1.3733",
            longitude="32.2903",
        )

        factories.Country(
            country="Germany",
            code="DE",
            latitude="51.1657",
            longitude="10.4515",
        )
Beispiel #14
0
 def setUp(self):
     self.hikaya_user = factories.TolaUser()
     self.org = factories.Organization()
     self.country = factories.Country()
Beispiel #15
0
 def setUp(self):
     self.org = factories.Organization()
     self.country = factories.Country()