Skip to content
Snippets Groups Projects
Commit 04c599d6 authored by Sigurd Brustad Greiff's avatar Sigurd Brustad Greiff
Browse files

Testing tools implemented

Getting to know the tools of testing w/ django
parent 1f4d0f64
No related branches found
No related tags found
No related merge requests found
Pipeline #157733 passed
...@@ -6,8 +6,8 @@ urlpatterns = [ ...@@ -6,8 +6,8 @@ urlpatterns = [
path("api/users/", views.UserList.as_view(), name="user-list"), path("api/users/", views.UserList.as_view(), name="user-list"),
path("api/users/<int:pk>/", views.UserDetail.as_view(), name="user-detail"), path("api/users/<int:pk>/", views.UserDetail.as_view(), name="user-detail"),
path("api/users/<str:username>/", views.UserDetail.as_view(), name="user-detail"), path("api/users/<str:username>/", views.UserDetail.as_view(), name="user-detail"),
path("api/users/<str:favorite_exercise>/", views.UserDetail.as_view(), name="user-detail"), path("api/users/<str:favourite_exercise>/", views.UserDetail.as_view(), name="user-detail"),
path("api/users/<str:gym>/", views.UserDetail.as_view(), name="user-detail"), path("api/users/<str:main_gym>/", views.UserDetail.as_view(), name="user-detail"),
path("api/offers/", views.OfferList.as_view(), name="offer-list"), path("api/offers/", views.OfferList.as_view(), name="offer-list"),
path("api/offers/<int:pk>/", views.OfferDetail.as_view(), name="offer-detail"), path("api/offers/<int:pk>/", views.OfferDetail.as_view(), name="offer-detail"),
path( path(
......
...@@ -3,4 +3,47 @@ Tests for the workouts application. ...@@ -3,4 +3,47 @@ Tests for the workouts application.
""" """
from django.test import TestCase from django.test import TestCase
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
# Create your tests here. # Create your tests here.
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
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())
...@@ -4,12 +4,12 @@ async function fetchProfileData(request) { ...@@ -4,12 +4,12 @@ async function fetchProfileData(request) {
if (response.ok) { if (response.ok) {
let data = await response.json(); let data = await response.json();
const username = sessionStorage.getItem("username"); let users = data.results;
console.log("USERNAME:", username); let container = document.getElementById('div-content');
let response2 = await sendRequest("GET", `${HOST}/api/users/`); let exerciseTemplate = document.querySelector("#users");
let data2 = await response2.json(); users.forEach(user => {
console.log("USER:", data2.results.map((item) => console.log(item))); const exerciseAnchor = exerciseTemplate.content.firstElementChild.cloneNode(true);
} exerciseAnchor.href = `exercise.html?id=${user.id}`;
const h5 = exerciseAnchor.querySelector("h5"); const h5 = exerciseAnchor.querySelector("h5");
h5.textContent = exercise.name; h5.textContent = exercise.name;
......
...@@ -158,18 +158,8 @@ async function updateGym(id) { ...@@ -158,18 +158,8 @@ async function updateGym(id) {
let alert = createAlert(`Could not update gym ${id}`, data); let alert = createAlert(`Could not update gym ${id}`, data);
document.body.prepend(alert); document.body.prepend(alert);
} else { } else {
muscleGroupSelector.setAttribute("disabled", "") console.log(response);
// duplicate code from handleCancelButtonDuringEdit window.location.replace("exercises.html");
// you should refactor this
setReadOnly(true, "#form-exercise");
okButton.className += " hide";
deleteButton.className += " hide";
cancelButton.className += " hide";
editButton.className = editButton.className.replace(" hide", "");
cancelButton.removeEventListener("click", handleCancelButtonDuringEdit);
oldFormData.delete("gym");
} }
} }
...@@ -200,7 +190,7 @@ window.addEventListener("DOMContentLoaded", async () => { ...@@ -200,7 +190,7 @@ window.addEventListener("DOMContentLoaded", async () => {
okButton.className = okButton.className.replace(" hide", ""); okButton.className = okButton.className.replace(" hide", "");
cancelButton.className = cancelButton.className.replace(" hide", ""); cancelButton.className = cancelButton.className.replace(" hide", "");
okButton.addEventListener("click", async () => await createExercise()); okButton.addEventListener("click", async () => await updateGym());
cancelButton.addEventListener("click", handleCancelButtonDuringCreate); cancelButton.addEventListener("click", handleCancelButtonDuringCreate);
} }
}); });
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment