diff --git a/backend/secfit/workouts/tests.py b/backend/secfit/workouts/tests.py index 020173078b1d4593cc6131cb8c24e8897cc3f2e7..fe04635b81a220acfd6765202b3e88c1e5c83608 100644 --- a/backend/secfit/workouts/tests.py +++ b/backend/secfit/workouts/tests.py @@ -1,7 +1,12 @@ """ Tests for the workouts application. +Sources: +https://docs.djangoproject.com/en/4.0/topics/testing/overview/ +https://docs.djangoproject.com/en/4.0/topics/testing/tools/ +https://docs.djangoproject.com/en/4.0/topics/testing/advanced/ """ -from django.test import TestCase +from urllib.request import Request +from django.test import TestCase, Client, RequestFactory from django.urls import reverse, resolve @@ -14,36 +19,34 @@ import workouts.permissions as Perms class PermissionsTestCase(TestCase): def setUp(self): - user_one = User.objects.create(phone_number="12345678", country="Norway", city="Trondheim", street_address="street 3", favourite_exercise="Biceps", main_gym="SIT") - workout_one = Workout.objects.create(name="Curl", date="2022-03-03", notes="nice", owner=User.objects.get(phone_number="12345678"), visibility="PU") - user_one.username = "jorsi" - user_one.password = "123" - user_one.save() - workout_one.save() - print("user info: " + user_one.username) - print(workout_one.name + "Owner:" +workout_one.owner.username) - self.user_one = user_one - self.workout_one = workout_one + #User setup + self.user_one = User.objects.create(username = "jorsi", phone_number="12345678", country="Norway", + city="Trondheim", street_address="street 3", favourite_exercise="Biceps", main_gym="SIT") + + self.user_one.save() + #Workout setup + self.workout_one = Workout.objects.create(name="Curl", date="2022-03-03", notes="nice", + owner=self.user_one, visibility="PU") + self.workout_one.save() + + #Factory setup + self.factory= RequestFactory() + + #Printstatements + print("username of user_one: " + self.user_one.username) + print("Workout: "+ self.workout_one.name + "Owner:" +self.workout_one.owner.username) def test_user_database(self): user_count=User.objects.all().count() self.assertEqual(user_count, 1) - #workout=Workout.objects.get(name="Curl") - #owner=workout. def test_is_owner(self): #Perms.IsOwner.has_object_permission(self, self.user_one,"", self.workout_one) #print(Perms.IsOwner.has_object_permission(self.user_one, self.workout_one)) - - #does nothing to the test atm - self.client.login( - username=self.user_one.username, password=self.user_one.password - ) - - self.assertEqual(self.user_one, self.workout_one.owner) - def test_url(self): - url = reverse("workout-list") - #what view will show for that url: - print(resolve(url)) - self.assertEquals(resolve(url).func, WorkoutList.as_view()) + test_request = self.factory.get('/') + test_request.user = self.user_one + is_owner = Perms.IsOwner.has_object_permission(self, test_request, None, self.workout_one) + self.assertTrue(is_owner) + +