Example #1
0
    def test_display_data_ok(self):
        data_point_ = DataPoint()
        category_ = Category.objects.create()
        data_point_.category_id = category_.pk
        data_point_.name = 'Test Data Point'
        data_point_.resource = 'https://data.pr.gov/resource/abcd-1234.json'
        data_point_.date_field = 'date'
        data_point_.data_field = 'total'
        data_point_.trend_upwards_positive = True
        data_point_.featured = True
        data_point_.save()

        responses.add(responses.GET, 'https://data.pr.gov/resource/abcd-1234.json',
                      body=self.test_data, status=200, content_type='application/json')

        r = DataPoint.display_data(data_point_, token={'access_token': '123abc'})
        self.assertEqual('Test Data Point', r['data'])
        self.assertEqual([{'date': datetime.strptime(x[data_point_.date_field][:10], '%Y-%m-%d'),
                           'value': x[data_point_.data_field]} for x in json.loads(self.test_data)], r['data_set'])
        self.assertEqual(datetime(2014, 12, 1, 0, 0), r['latest_month']['date'])
        self.assertEqual('6.534', r['latest_month']['value'])
        self.assertEqual(datetime(2014, 11, 1, 0, 0), r['previous_month']['date'])
        self.assertEqual('5.855', r['previous_month']['value'])
        self.assertEqual(datetime(2013, 12, 1, 0, 0), r['month_last_year']['date'])
        self.assertEqual('6.134', r['month_last_year']['value'])
        self.assertEqual(6.52, r['percent_change'])
        self.assertEqual(True, r['trend_direction'])
        self.assertEqual(True, r['trend_positive'])
Example #2
0
    def test_display_summary_date_error(self):
        data_point_ = DataPoint()
        category_ = Category.objects.create()
        data_point_.category_id = category_.pk
        data_point_.name = 'Test Data Point'
        data_point_.resource = 'https://data.pr.gov/resource/abcd-1234.json'
        data_point_.date_field = 'date'
        data_point_.data_field = 'total'
        data_point_.trend_upwards_positive = True
        data_point_.featured = True
        data_point_.save()

        responses.add(responses.GET, 'https://data.pr.gov/resource/abcd-1234.json',
                      body=self.bad_test_data, status=200, content_type='application/json')

        r = DataPoint.display_data(data_point_, token={'access_token': '123abc'})
        self.assertDictEqual({'name': data_point_.name}, {'name': r['name']})
        self.assertRaisesMessage(expected_exception=ValueError, expected_message='Incorrect date format')
Example #3
0
    def test_display_summary_ok(self):
        data_point_ = DataPoint()
        category_ = Category.objects.create(name='Test Category')
        data_point_.category_id = category_.pk
        data_point_.name = 'Test Data Point'
        data_point_.resource = 'https://data.pr.gov/resource/abcd-1234.json'
        data_point_.date_field = 'date'
        data_point_.data_field = 'total'
        data_point_.trend_upwards_positive = True
        data_point_.featured = True
        data_point_.save()

        responses.add(responses.GET, 'https://data.pr.gov/resource/abcd-1234.json',
                      body=self.test_data, status=200, content_type='application/json')

        r = DataPoint.display_data(data_point_, token={'access_token': '123abc'})
        self.assertEqual('Test Data Point', r['data'])
        self.assertEqual(datetime(2014, 12, 1, 0, 0), r['latest_month']['date'])
        self.assertEqual('6.534', r['latest_month']['value'])
        self.assertEqual(6.52, r['percent_change'])
        self.assertEqual(True, r['trend_direction'])
        self.assertEqual(True, r['trend_positive'])
        self.assertEqual('Test Category', data_point_.category.name)