Modification of objective url configuration

This commit is contained in:
Gregory Trullemans 2022-09-09 15:11:11 +02:00
parent c3f2991b9c
commit 58b78b5f62
3 changed files with 50 additions and 25 deletions

View File

@ -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)),

View File

@ -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')

View File

@ -1,48 +1,45 @@
from django.urls import path, re_path
from . import views
# Skills
skill_urlpatterns = [
urlpatterns = [
re_path(
r"^(?P<field>(level|rank|difficulty))/(?P<expression>[\w]+)/(?P<value>[\w]+)$",
r"skill/(?P<field>(level|rank|difficulty))/(?P<expression>[\w]+)/(?P<value>[\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"<int:skill_id>/", views.skill_details, name="skill_details"),
path(r"<int:skill_id>/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/<int:skill_id>/", views.skill_details, name="skill_details"),
path(r"skill/<int:skill_id>/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/<int:routine_id>/",
r"routine/edit/<int:routine_id>/",
views.routine_create_or_update,
name="routine_update"
),
path(r"<int:routine_id>", views.routine_details, name="routine_details"),
path(r"compose/<int:routine_id>/", views.compose_routine, name="compose_routine"),
path(r"routine/<int:routine_id>/", views.routine_details, name="routine_details"),
path(r"routine/compose/<int:routine_id>/", 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/<int:gymnast_id>", views.routine_listing, name="routine_list_for_gymnast"),
path(r"routine/", views.routine_listing, name="routine_list"),
path(r"routine/gymnast/<int:gymnast_id>/", views.routine_listing, name="routine_list_for_gymnast"),
]