From 634d842dc90d78ad4ed9316addc0604f4f119958 Mon Sep 17 00:00:00 2001 From: Johnny Date: Sun, 28 Oct 2018 13:10:28 +0000 Subject: [PATCH 1/6] Implements ChannelViews. --- .../web/website/templates/website/_menu.html | 10 +- .../templates/website/channel_detail.html | 94 ++++++++++ .../templates/website/channel_list.html | 80 +++++++++ evennia/web/website/urls.py | 4 + evennia/web/website/views.py | 163 ++++++++++++++++++ 5 files changed, 347 insertions(+), 4 deletions(-) create mode 100644 evennia/web/website/templates/website/channel_detail.html create mode 100644 evennia/web/website/templates/website/channel_list.html diff --git a/evennia/web/website/templates/website/_menu.html b/evennia/web/website/templates/website/_menu.html index 32c17db361..69c06009d0 100644 --- a/evennia/web/website/templates/website/_menu.html +++ b/evennia/web/website/templates/website/_menu.html @@ -23,24 +23,26 @@ folder and edit it to add/remove links to the menu. + {% endif %} - +
From dbf23b852f76e2222bef6a1bb591b023e7484246 Mon Sep 17 00:00:00 2001 From: Johnny Date: Sun, 28 Oct 2018 13:30:26 +0000 Subject: [PATCH 6/6] Adds unit test for channel views. --- evennia/web/website/tests.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/evennia/web/website/tests.py b/evennia/web/website/tests.py index 69b570b1b7..95f9b6217b 100644 --- a/evennia/web/website/tests.py +++ b/evennia/web/website/tests.py @@ -2,6 +2,7 @@ from django.conf import settings from django.utils.text import slugify from django.test import Client, override_settings from django.urls import reverse +from evennia.utils import class_from_module from evennia.utils.test_resources import EvenniaTest class EvenniaWebTest(EvenniaTest): @@ -13,6 +14,7 @@ class EvenniaWebTest(EvenniaTest): exit_typeclass = settings.BASE_EXIT_TYPECLASS room_typeclass = settings.BASE_ROOM_TYPECLASS script_typeclass = settings.BASE_SCRIPT_TYPECLASS + channel_typeclass = settings.BASE_CHANNEL_TYPECLASS # Default named url url_name = 'index' @@ -92,6 +94,25 @@ class PasswordResetTest(EvenniaWebTest): class WebclientTest(EvenniaWebTest): url_name = 'webclient:index' +class ChannelListTest(EvenniaWebTest): + url_name = 'channels' + +class ChannelDetailTest(EvenniaWebTest): + url_name = 'channel-detail' + + def setUp(self): + super(ChannelDetailTest, self).setUp() + + klass = class_from_module(self.channel_typeclass) + + # Create a channel + klass.create('demo') + + def get_kwargs(self): + return { + 'slug': slugify('demo') + } + class CharacterCreateView(EvenniaWebTest): url_name = 'character-create' unauthenticated_response = 302