コード例 #1
0
 def setUp(self):
     self.program = ProgramFactory(
         reporting_period_start=datetime.date(2018, 1, 1),
         reporting_period_end=datetime.date(2019, 1, 1),
     )
     self.indicator = IndicatorFactory(
         program=self.program,
         target_frequency=Indicator.MID_END,
     )
     PeriodicTargetFactory(
         indicator=self.indicator,
         start_date=datetime.date(2018, 1, 1),
         end_date=datetime.date(2018, 12, 31),
     )
     self.result = ResultFactory(
         indicator=self.indicator,
         date_collected=datetime.date(2017, 1, 1),
         achieved=42,
         record_name='My Test Record',
         evidence_url='http://my_evidence_url',
     )
     self.count = 1
     self.count += str(self.indicator.pk).count('42') * 2
     self.count += str(self.indicator.name).count('42')
     self.count += str(self.result.pk).count('42')
     self.user = UserFactory(first_name="FN", last_name="LN", username="******", is_superuser=True)
     self.user.set_password('password')
     self.user.save()
     self.tola_user = TolaUserFactory(user=self.user)
     self.client.login(username='******', password='******')
コード例 #2
0
    def setUp(self):
        startdate = datetime.strptime('2017-02-04', '%Y-%m-%d')
        enddate = datetime.strptime('2019-10-01', '%Y-%m-%d')
        self.program = ProgramFactory(reporting_period_start=startdate,
                                      reporting_period_end=enddate)

        self.user = UserFactory(first_name="FN",
                                last_name="LN",
                                username="******",
                                is_superuser=True)
        self.user.set_password('password')
        self.user.save()

        self.tola_user = TolaUserFactory(user=self.user)
        self.tola_user.save()

        self.client.login(username='******', password='******')

        # setting up an indicator of each target type should allow the view to load w/ that target period (I think...)
        for indicator_frequency in self.test_target_periods:
            indicator = IndicatorFactory(target_frequency=indicator_frequency,
                                         program=self.program)

            # make periodic target w/ unicode in the period names - this was causing an exception!
            PeriodicTargetFactory(period='Año unicode name',
                                  indicator=indicator,
                                  start_date=startdate,
                                  end_date=enddate)
コード例 #3
0
    def setUp(self):
        self.program = ProgramFactory(
            reporting_period_start=datetime.date(2018, 1, 1),
            reporting_period_end=datetime.date(2019, 1, 1),
        )
        self.level1 = LevelFactory(program=self.program, customsort=1)
        self.level1_1 = LevelFactory(parent=self.level1,
                                     customsort=1,
                                     program=self.program)
        self.level1_1_1 = LevelFactory(parent=self.level1_1,
                                       customsort=1,
                                       program=self.program)
        self.level1_1_2 = LevelFactory(parent=self.level1_1,
                                       customsort=2,
                                       program=self.program)
        self.level1_2 = LevelFactory(parent=self.level1,
                                     customsort=2,
                                     program=self.program)
        self.level1_2_1 = LevelFactory(parent=self.level1_2,
                                       customsort=1,
                                       program=self.program)
        self.level1_2_2 = LevelFactory(parent=self.level1_2,
                                       customsort=2,
                                       program=self.program)
        self.level1_2_3 = LevelFactory(parent=self.level1_2,
                                       customsort=3,
                                       program=self.program)
        self.level1_2_3_1 = LevelFactory(parent=self.level1_2_3,
                                         customsort=1,
                                         program=self.program)
        self.level1_2_3_1_1 = LevelFactory(parent=self.level1_2_3_1,
                                           customsort=1,
                                           program=self.program)

        self.tier1 = LevelTierFactory(program=self.program,
                                      name='Tier1',
                                      tier_depth=1)
        self.tier2 = LevelTierFactory(program=self.program,
                                      name='Tier2',
                                      tier_depth=2)
        self.tier3 = LevelTierFactory(program=self.program,
                                      name='Tier3',
                                      tier_depth=3)
        self.tier4 = LevelTierFactory(program=self.program,
                                      name='Tier4',
                                      tier_depth=4)
コード例 #4
0
    def test_form_populates(self):
        """The form should populate several fields from the db"""
        request = RequestFactory().get('/')
        request.user = UserFactory()
        sectors = SectorFactory.create_batch(3)
        levels = LevelFactory.create_batch(3)
        ind_types = IndicatorTypeFactory.create_batch(3)

        program = ProgramFactory()
        indicator = IndicatorFactory(program=program)
        IndicatorFactory.create_batch(3)
        collected_data = CollectedDataFactory(indicator=indicator)
        CollectedDataFactory.create_batch(3)
        expected = SiteProfileFactory()
        expected2 = SiteProfileFactory()
        collected_data.site.add(expected2)
        collected_data.site.add(expected)
        SiteProfileFactory.create_batch(3)
        period_choices_start = ((2018, (
            ('2018-02-01', 'Quarter 4 (Feb 01, 2018 - Apr 30, 2018)'),
            ('2018-05-01', 'Quarter 5 (May 01, 2018 - Jul 31, 2018)'))), )
        period_choices_end = ((2018, (
            ('2018-04-30', 'Quarter 4 (Feb 01, 2018 - Apr 30, 2018)'),
            ('2018-07-31', 'Quarter 5 (May 01, 2018 - Jul 31, 2018)'))), )

        kwargs = {
            'program': program,
            'request': request,
            'initial': {
                'period_choices_start': period_choices_start,
                'period_choices_end': period_choices_end
            }
        }
        form = IPTTReportFilterForm(**kwargs)

        stuff = str(form)
        self.assertIn(expected.name, stuff)
        self.assertIn(expected2.name, stuff)
        self.assertIn(indicator.name, stuff)