def test_get_data_view(self): required_attrs = ["weight", "body_fat", "body_water", "bones_weight", "muscles_weight", "lean_weight"] url = reverse("health.views.get_data") weight = Weight() weight.body_fat = 10 weight.weight = 80 weight.user = User.objects.get(username='******') weight.date = datetime.date(2050, 1, 1) weight.save() resp = self.c.get(url) self.assertEqual(resp.status_code, 200) data = json.loads(resp.content) self.assertIsInstance(data, dict) for attr in required_attrs: self.assertTrue(attr in data['data']) # check if calculation of lean weight is correct (weight - (weight * bodyfat / 100) weight = data['data']['weight'][-1][1] bf = data['data']['body_fat'][-1][1] lean_weight = data['data']['lean_weight'][-1][1] self.assertEqual(lean_weight, weight - (weight * bf / 100))