From 58b78b5f621d162b9de5e6cd0bbfc1e976bacf4b Mon Sep 17 00:00:00 2001 From: Gregory Trullemans Date: Fri, 9 Sep 2022 15:11:11 +0200 Subject: [PATCH] Modification of objective url configuration --- config/urls.py | 3 +-- ultron/objective/tests_urls.py | 29 +++++++++++++++++++++++ ultron/objective/urls.py | 43 ++++++++++++++++------------------ 3 files changed, 50 insertions(+), 25 deletions(-) create mode 100644 ultron/objective/tests_urls.py diff --git a/config/urls.py b/config/urls.py index 27b5b96cc9..fbbb4d89e5 100644 --- a/config/urls.py +++ b/config/urls.py @@ -44,8 +44,7 @@ urlpatterns = [ path(r"plan/", include(ultron.followup.urls.plan_urlpatterns)), # Objective management - path(r"skill/", include(ultron.objective.urls.skill_urlpatterns)), - path(r"routine/", include(ultron.objective.urls.routine_urlpatterns)), + path(r"objective/", include(ultron.objective.urls.urlpatterns)), # Planning management path(r"event/", include(ultron.planning.urls.event_urlpatterns)), diff --git a/ultron/objective/tests_urls.py b/ultron/objective/tests_urls.py new file mode 100644 index 0000000000..701f2bf0d6 --- /dev/null +++ b/ultron/objective/tests_urls.py @@ -0,0 +1,29 @@ +from django.test import TestCase +from django.urls import reverse, resolve + + +class URLTestCase(TestCase): + + def test_skill_url(self): + self.assertEqual(resolve("/objective/skill/level/exact/1/").view_name, 'skill_listing_by_key') + self.assertEqual(resolve("/objective/skill/rank/lte/1/").view_name, 'skill_listing_by_key') + self.assertEqual(resolve("/objective/skill/difficulty/gt/1/").view_name, 'skill_listing_by_key') + + self.assertEqual(resolve("/objective/skill/lookup/").view_name, 'skill_lookup') + self.assertEqual(resolve("/objective/skill/search/").view_name, 'skill_search') + self.assertEqual(resolve("/objective/skill/1/").view_name, 'skill_details') + self.assertEqual(resolve("/objective/skill/1/tree/").view_name, 'skill_tree') + self.assertEqual(resolve("/objective/skill/prerequisiteless/").view_name, 'skill_without_prerequisite') + self.assertEqual(resolve("/objective/skill/").view_name, 'skill_list') + + def test_routine_url(self): + self.assertEqual(resolve("/objective/routine/lookup/").view_name, 'routine_lookup') + self.assertEqual(resolve("/objective/routine/search/").view_name, 'routine_search') + self.assertEqual(resolve("/objective/routine/add/").view_name, 'routine_create') + self.assertEqual(resolve("/objective/routine/edit/1/").view_name, 'routine_update') + self.assertEqual(resolve("/objective/routine/1/").view_name, 'routine_details') + self.assertEqual(resolve("/objective/routine/compose/1/").view_name, 'compose_routine') + self.assertEqual(resolve("/objective/routine/compose/link_skill/").view_name, 'link_skill_to_routine') + self.assertEqual(resolve("/objective/routine/compose/unlink_skill/").view_name, 'unlink_skill_from_routine') + self.assertEqual(resolve("/objective/routine/").view_name, 'routine_list') + self.assertEqual(resolve("/objective/routine/gymnast/1/").view_name, 'routine_list_for_gymnast') diff --git a/ultron/objective/urls.py b/ultron/objective/urls.py index 1f642cc87c..b3e646eef9 100644 --- a/ultron/objective/urls.py +++ b/ultron/objective/urls.py @@ -1,48 +1,45 @@ from django.urls import path, re_path from . import views -# Skills -skill_urlpatterns = [ + +urlpatterns = [ re_path( - r"^(?P(level|rank|difficulty))/(?P[\w]+)/(?P[\w]+)$", + r"skill/(?P(level|rank|difficulty))/(?P[\w]+)/(?P[\w]+)/", views.skill_listing, name="skill_listing_by_key", ), - path(r"lookup/", views.skill_lookup, name="skill_lookup"), - path(r"search/", views.skill_listing), - path(r"/", views.skill_details, name="skill_details"), - path(r"/tree/", views.skill_tree, name="skill_tree"), + path(r"skill/lookup/", views.skill_lookup, name="skill_lookup"), + path(r"skill/search/", views.skill_listing, name="skill_search"), + path(r"skill//", views.skill_details, name="skill_details"), + path(r"skill//tree/", views.skill_tree, name="skill_tree"), path( - r"prerequisiteless/", + r"skill/prerequisiteless/", views.skill_without_prerequisite_listing, name="skill_without_prerequisite" ), - path(r"", views.skill_listing, name="skill_list"), -] + path(r"skill/", views.skill_listing, name="skill_list"), - -# Routines -routine_urlpatterns = [ - path(r"search/", views.routine_listing), - path(r"lookup/", views.routine_lookup, name="routine_lookup"), - path(r"add/", views.routine_create_or_update, name="routine_create"), + # Routines + path(r"routine/lookup/", views.routine_lookup, name="routine_lookup"), + path(r"routine/search/", views.routine_listing, name="routine_search"), + path(r"routine/add/", views.routine_create_or_update, name="routine_create"), path( - r"edit//", + r"routine/edit//", views.routine_create_or_update, name="routine_update" ), - path(r"", views.routine_details, name="routine_details"), - path(r"compose//", views.compose_routine, name="compose_routine"), + path(r"routine//", views.routine_details, name="routine_details"), + path(r"routine/compose//", views.compose_routine, name="compose_routine"), path( - r"compose/link_skill/", + r"routine/compose/link_skill/", views.link_skill_to_routine, name="link_skill_to_routine", ), path( - r"compose/unlink_skill/", + r"routine/compose/unlink_skill/", views.unlink_skill_from_routine, name="unlink_skill_from_routine", ), - path(r"", views.routine_listing, name="routine_list"), - path(r"gymnast/", views.routine_listing, name="routine_list_for_gymnast"), + path(r"routine/", views.routine_listing, name="routine_list"), + path(r"routine/gymnast//", views.routine_listing, name="routine_list_for_gymnast"), ]