From ea9deed6ff445d584731dc05d9fd06ea9293627e Mon Sep 17 00:00:00 2001 From: Kosy Anyanwu Date: Sat, 7 May 2016 22:44:38 +0100 Subject: [PATCH] Add tests for post ratings and clean up previous test code --- django_foodbot/api/tests/test_api.py | 30 ++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/django_foodbot/api/tests/test_api.py b/django_foodbot/api/tests/test_api.py index 237a992..4fd085e 100644 --- a/django_foodbot/api/tests/test_api.py +++ b/django_foodbot/api/tests/test_api.py @@ -1,6 +1,10 @@ -from rest_framework.test import APIClient +import json + from django.core.urlresolvers import reverse_lazy -from rest_framework.test import APITestCase + +from rest_framework import status +from rest_framework.test import APIClient, APITestCase + from api.models import Menu, Rating @@ -17,18 +21,32 @@ def setUp(self): class TestMenu(FoodBotApiTestCase): + """Test for menu endpoint.""" - def test_get_menu_list(self): + def test_get_menu_list_when_menu_exist(self): url = reverse_lazy('menulist') response = self.client.get(url) - self.assertEqual(response.status_code, 200) + self.assertTrue(status.is_success(response.status_code)) + self.assertDictEqual(json.loads(response.content)['results'][0], + {'id': 1, 'day': 'monday', 'food': 'rice', + 'meal': 'lunch', 'option': 1, 'week': 1}) + + +class TestRating(FoodBotApiTestCase): + """Test for rating endpoint.""" def test_get_rating_list(self): url = reverse_lazy('ratinglist') response = self.client.get(url) - self.assertEqual(response.status_code, 200) + self.assertTrue(status.is_success(response.status_code)) def test_get_weekly_ratings(self): url = reverse_lazy('weeklyratinglist') response = self.client.get(url) - self.assertEqual(response.status_code, 200) + self.assertTrue(status.is_success(response.status_code)) + + def test_post_ratings(self): + url = reverse_lazy('addrating', kwargs={'id': 4}) + data = {'user_id': '1', 'rate': 5} + response = self.client.post(url, data) + self.assertTrue(status.is_success(response.status_code))