Skip to content
Snippets Groups Projects
tests.py 1.84 KiB
Newer Older
asmundh's avatar
asmundh committed
"""
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/
asmundh's avatar
asmundh committed
"""
from urllib.request import Request
from django.test import TestCase, Client, RequestFactory
asmundh's avatar
asmundh committed

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

asmundh's avatar
asmundh committed
# Create your tests here.

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)