diff --git a/config/settings.py b/config/settings.py index 0045ade13e..01f935418d 100644 --- a/config/settings.py +++ b/config/settings.py @@ -43,6 +43,7 @@ INSTALLED_APPS = [ 'django.contrib.messages', 'django.contrib.staticfiles', 'django_extensions', + "ultron.core", 'ultron.location', 'ultron.people', 'ultron.followup', diff --git a/config/urls.py b/config/urls.py index b743df75eb..5e57c0d298 100644 --- a/config/urls.py +++ b/config/urls.py @@ -16,7 +16,6 @@ Including another URLconf from django.contrib import admin from django.urls import include, path -import config.views import ultron.followup.urls import ultron.location.urls import ultron.people.urls @@ -25,9 +24,6 @@ import ultron.planning.urls import ultron.objective.urls urlpatterns = [ - # Global search - path(r"search/", config.views.search, name="global_search"), - # Profile list path(r"profile/", include(ultron.profiles.urls.profile_urlpatterns)), @@ -56,10 +52,7 @@ urlpatterns = [ # Planning management path(r"event/", include(ultron.planning.urls.event_urlpatterns)), - # Login & logout - path(r"login/", config.views.login, name="login"), - path(r"logout/", config.views.logout, name="logout"), - path(r"", config.views.home, name="home"), + path("", include("ultron.core.urls")), # Administration path('admin/', admin.site.urls), diff --git a/ultron/core/__init__.py b/ultron/core/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/ultron/core/admin.py b/ultron/core/admin.py new file mode 100644 index 0000000000..8c38f3f3da --- /dev/null +++ b/ultron/core/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/ultron/core/apps.py b/ultron/core/apps.py new file mode 100644 index 0000000000..80dfae556a --- /dev/null +++ b/ultron/core/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class CoreConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'ultron.core' diff --git a/ultron/core/migrations/__init__.py b/ultron/core/migrations/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/ultron/core/tests.py b/ultron/core/tests.py new file mode 100644 index 0000000000..37f889468a --- /dev/null +++ b/ultron/core/tests.py @@ -0,0 +1,29 @@ +from django.contrib.auth import get_user_model +from django.test import TestCase +from django.urls import reverse + + +USER = get_user_model() + + +class HomeTests(TestCase): + def setUp(self): + self.user = USER.objects.create( + username="jbond", email="james@hms.co.uk", password="007" + ) + + def test_home_view_anonymous_redirected_statuts_code(self): + url = reverse("home") + response = self.client.get(url) + self.assertEquals(response.status_code, 302) + + def test_home_view_status_code_with_user_connected(self): + """Note: This test will switch to green once we will get rid of whitenoise + + See https://stackoverflow.com/questions/50658241/django-doesnt-load-static-files-valueerrormissing-staticfiles-manifest-entry + """ + login_result = self.client.login(username="jbond", password="007") + + url = reverse("home") + response = self.client.get(url, follow=True) + self.assertEquals(response.status_code, 200) diff --git a/ultron/core/urls.py b/ultron/core/urls.py new file mode 100644 index 0000000000..aaabb313a8 --- /dev/null +++ b/ultron/core/urls.py @@ -0,0 +1,11 @@ +from django.urls import path + +from .views import login, logout, home, search + + +urlpatterns = [ + path(r"search/", search, name="global_search"), + path(r"login/", login, name="login"), + path(r"logout/", logout, name="logout"), + path(r"", home, name="home"), +] diff --git a/config/views.py b/ultron/core/views.py similarity index 99% rename from config/views.py rename to ultron/core/views.py index 6f4a1cbd89..c0fd3df20b 100644 --- a/config/views.py +++ b/ultron/core/views.py @@ -1,6 +1,4 @@ from datetime import datetime, timedelta, date -from functools import reduce -import operator from django.db.models import Q from django.shortcuts import render diff --git a/ultron/followup/admin.py b/ultron/followup/admin.py index b3501f9731..ac719f3ae6 100644 --- a/ultron/followup/admin.py +++ b/ultron/followup/admin.py @@ -1,7 +1,6 @@ from django.contrib import admin from django.db.models import fields -from config.views import search from .models import ( Chrono, LearnedSkill, diff --git a/ultron/people/tests.py b/ultron/people/tests.py index 7ab074ed5c..287e9d31bd 100644 --- a/ultron/people/tests.py +++ b/ultron/people/tests.py @@ -1,7 +1,10 @@ -from django.test import TestCase -from ultron.people.models import Gymnast from datetime import datetime -# import pytest + +from django.test import TestCase +from django.urls import reverse + +from ultron.people.models import Gymnast + class GymnastTestCase(TestCase): def test_gymnast_tostring(self):