Skip to content

Commit

Permalink
Update test_equivalence_class_exercise.py
Browse files Browse the repository at this point in the history
  • Loading branch information
malenelu authored and GitHub Enterprise committed Apr 1, 2025
1 parent 2a5ebec commit 090a230
Showing 1 changed file with 53 additions and 43 deletions.
96 changes: 53 additions & 43 deletions backend/tests/test_equivalence_class_exercise.py
Original file line number Diff line number Diff line change
@@ -1,48 +1,58 @@
"""
TC_001 - Equivalence class test for the limit of sets in an exercise
"""
from django.test import TestCase
from workouts.models import ExerciseInstance
import pytest
from rest_framework.test import APIClient
from django.utils.timezone import now
from workouts.models import Workout
from django.contrib.auth import get_user_model

# Test an exercise instance with the lowest equivalence class
def test_create_below_exercise_instance(self):
response = self.client.post("api/exercise-instances/",
"workout": "Full body toning",
"exercise": "Squats",
"sets": -10, # A negative number of sets is expected to raise an error
"number": 5
}, format="json")
@pytest.mark.django_db
class TestWorkoutAPI:
def setUp(self):
self.client = APIClient()
self.user = get_user_model().objects.create_user(username="testuser", password="password")
self.client.force_authenticate(self.user)

print(f"Error response data: {response.data}")
print(f"Error response status code: {response.status_code}")

assert response.status_code == 400

# Test an exercise instance with the mid and valid equivalence class
def test_create_valid_exercise_instance(self):
response = self.client.post("/api/exercise-instances/", {
"workout": "Full body toning",
"exercise": "Squats",
"sets": 50, # A number of sets between 0 and 100 is expected to be valid
"number": 5
}, format="json")

print(f"Response data: {response.data}")
print(f"Response status code: {response.status_code}")

assert response.status_code == 201
assert ExerciseInstance.objects.count() == 1

# Test an exercise instance with the highest equivalence class
def test_create_below_exercise_instance(self):
response = self.client.post("api/exercise-instances/", {
"workout": "Full body toning",
"exercise": "Squats",
"sets": 110, # A number of sets above 100 is expected to raise an error
"number": 5
}, format="json")

print(f"Error response data: {response.data}")
print(f"Error response status code: {response.status_code}")

assert response.status_code == 400
# Test an exercise instance with the lowest equivalence class
def test_create_below_exercise_instance(self):
response = self.client.post("api/exercise-instances/",
"workout": "Full body toning",
"exercise": "Squats",
"sets": -10, # A negative number of sets is expected to raise an error
"number": 5
}, format="json")

print(f"Error response data: {response.data}")
print(f"Error response status code: {response.status_code}")

assert response.status_code == 400

# Test an exercise instance with the mid and valid equivalence class
def test_create_valid_exercise_instance(self):
response = self.client.post("/api/exercise-instances/", {
"workout": "Full body toning",
"exercise": "Squats",
"sets": 50, # A number of sets between 0 and 100 is expected to be valid
"number": 5
}, format="json")

print(f"Response data: {response.data}")
print(f"Response status code: {response.status_code}")

assert response.status_code == 201
assert ExerciseInstance.objects.count() == 1

# Test an exercise instance with the highest equivalence class
def test_create_below_exercise_instance(self):
response = self.client.post("api/exercise-instances/", {
"workout": "Full body toning",
"exercise": "Squats",
"sets": 110, # A number of sets above 100 is expected to raise an error
"number": 5
}, format="json")

print(f"Error response data: {response.data}")
print(f"Error response status code: {response.status_code}")

assert response.status_code == 400

0 comments on commit 090a230

Please sign in to comment.