diff --git a/backend/tests/test_tc002.py b/backend/tests/test_tc002.py new file mode 100644 index 0000000..4fc71f9 --- /dev/null +++ b/backend/tests/test_tc002.py @@ -0,0 +1,46 @@ +from rest_framework.test import APITestCase +from django.test import TestCase +from django.contrib.auth import get_user_model +from workouts.models import Workout + +class TestWorkoutAPI(APITestCase): + def setUp(self): + self.user = get_user_model().objects.create_user( + username="testuser", + password="testpassword" + ) + self.client.force_authenticate(self.user) + + def test_create_workout_leap_year(self): + response = self.client.post( + "/api/workouts/", + { + "name": "Test workout leap year", + "date": "2024-02-29", + "notes": "Test notes", + "visibility": "PU", # Adding visibility field which is required + "owner": self.user.id, # Adding owner field which seems to be required + "exercise_instances": [] # Adding exercise_instances field which is required + }, + format="json" + ) + + self.assertEqual(response.status_code, 201) + self.assertEqual(Workout.objects.count(), 1) + + def test_create_workout_non_leap_year(self): + response = self.client.post( + "/api/workouts/", + { + "name": "Test workout leap year", + "date": "2023-02-29", + "notes": "Test notes", + "visibility": "PU", # Adding visibility field which is required + "owner": self.user.id, # Adding owner field which seems to be required + "exercise_instances": [] # Adding exercise_instances field which is required + }, + format="json" + ) + + self.assertEqual(response.status_code, 400) + self.assertEqual(Workout.objects.count(), 0) \ No newline at end of file