Newer
Older
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 urllib.request import Request
from django.test import TestCase, Client, RequestFactory
from django.urls import reverse, resolve
from workouts.views import Workout, WorkoutDetail, WorkoutList
from users.models import User
from workouts.models import Workout
import workouts.permissions as Perms
class PermissionsTestCase(TestCase):
def setUp(self):
#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)
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))
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)