summaryrefslogtreecommitdiffstats
path: root/tools/pharos-dashboard/src/account/tests
diff options
context:
space:
mode:
authormaxbr <maxbr@mi.fu-berlin.de>2016-09-26 16:36:11 +0200
committermaxbr <maxbr@mi.fu-berlin.de>2016-09-26 16:36:11 +0200
commitff30b14a212f38cf59084d30e9f13f9f92d2be3b (patch)
treecbe10ef00ef2be5650bedb5b81e24bd3b205f52c /tools/pharos-dashboard/src/account/tests
parent3ebfdcbcc91202482edb3f63fedde48646728fcd (diff)
Restructure dashboard project for docker deploying
Change-Id: I13cad51270504ee4bed8558598a8891af58a26ab Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
Diffstat (limited to 'tools/pharos-dashboard/src/account/tests')
-rw-r--r--tools/pharos-dashboard/src/account/tests/__init__.py10
-rw-r--r--tools/pharos-dashboard/src/account/tests/test_general.py50
2 files changed, 60 insertions, 0 deletions
diff --git a/tools/pharos-dashboard/src/account/tests/__init__.py b/tools/pharos-dashboard/src/account/tests/__init__.py
new file mode 100644
index 00000000..b5914ce7
--- /dev/null
+++ b/tools/pharos-dashboard/src/account/tests/__init__.py
@@ -0,0 +1,10 @@
+##############################################################################
+# Copyright (c) 2016 Max Breitenfeldt and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+
diff --git a/tools/pharos-dashboard/src/account/tests/test_general.py b/tools/pharos-dashboard/src/account/tests/test_general.py
new file mode 100644
index 00000000..72e7ea11
--- /dev/null
+++ b/tools/pharos-dashboard/src/account/tests/test_general.py
@@ -0,0 +1,50 @@
+##############################################################################
+# Copyright (c) 2016 Max Breitenfeldt and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+
+from django.contrib.auth.models import User
+from django.test import Client
+from django.test import TestCase
+from django.urls import reverse
+from django.utils import timezone
+
+from account.models import UserProfile
+
+
+class AccountMiddlewareTestCase(TestCase):
+ def setUp(self):
+ self.client = Client()
+ self.user1 = User.objects.create(username='user1')
+ self.user1.set_password('user1')
+ self.user1profile = UserProfile.objects.create(user=self.user1)
+ self.user1.save()
+
+ def test_timezone_middleware(self):
+ """
+ The timezone should be UTC for anonymous users, for authenticated users it should be set
+ to user.userprofile.timezone
+ """
+ #default
+ self.assertEqual(timezone.get_current_timezone_name(), 'UTC')
+
+ url = reverse('account:settings')
+ # anonymous request
+ self.client.get(url)
+ self.assertEqual(timezone.get_current_timezone_name(), 'UTC')
+
+ # authenticated user with UTC timezone (userprofile default)
+ self.client.login(username='user1', password='user1')
+ self.client.get(url)
+ self.assertEqual(timezone.get_current_timezone_name(), 'UTC')
+
+ # authenticated user with custom timezone (userprofile default)
+ self.user1profile.timezone = 'Etc/Greenwich'
+ self.user1profile.save()
+ self.client.get(url)
+ self.assertEqual(timezone.get_current_timezone_name(), 'Etc/Greenwich')