def test_get_survival_rate_tendency(self): result = get_survival_rate_tendency(self.day1, self.day2, 1, 1) self.assertEqual(2, len(result)) self.assertEqual(2, result[0][1]) self.assertEqual(1, result[0][2]) self.assertEqual(2, result[1][1]) self.assertEqual(2, result[1][2]) result = get_survival_rate_tendency(self.day1, self.day_next_month_2, 2, 3) self.assertEqual(5, len(result)) self.assertEqual(4, result[0][1]) self.assertEqual(1, result[0][2]) self.assertIsNone(result[1]) self.assertIsNone(result[2]) self.assertIsNone(result[3]) self.assertIsNone(result[4])
def get_survival_rate_tendency(request): request_date = __get_request_date(request) user_window = __get_request_interval_unit(request) user_window = int(user_window) # interval : month result = survival.get_survival_rate_tendency(request_date, timezone.now(), user_window, 3) values = [] for i, point in enumerate(result): y = 0 if point[1] > 0: y = point[2] * 1.0 / point[1] values.append({'x': i, 'y': y}) result = {'name': 'month', 'values': values} return JsonResponse(result)