59 lines
1.9 KiB
Python
59 lines
1.9 KiB
Python
"""This module contains tests for Comic related urls."""
|
|
import unittest
|
|
from flask import url_for
|
|
from . import TestBase
|
|
|
|
|
|
class TestKontorViews(TestBase):
|
|
|
|
def test_homepage_view(self):
|
|
"""
|
|
Test that homepage is accessible without login
|
|
"""
|
|
response = self.client.get(url_for('home.homepage'))
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
def test_login_view(self):
|
|
"""
|
|
Test that login page is accessible without login
|
|
"""
|
|
response = self.client.get(url_for('auth.login'))
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
def test_logout_view(self):
|
|
"""
|
|
Test that logout link is inaccessible without login
|
|
and redirects to login page then to logout
|
|
"""
|
|
target_url = url_for('auth.logout')
|
|
redirect_url = url_for('auth.login', next=target_url)
|
|
response = self.client.get(target_url)
|
|
self.assertEqual(response.status_code, 302)
|
|
self.assertRedirects(response, redirect_url)
|
|
|
|
def test_dashboard_view(self):
|
|
"""
|
|
Test that dashboard is inaccessible without login
|
|
and redirects to login page then to dashboard
|
|
"""
|
|
target_url = url_for('home.dashboard')
|
|
redirect_url = url_for('auth.login', next=target_url)
|
|
response = self.client.get(target_url)
|
|
self.assertEqual(response.status_code, 302)
|
|
self.assertRedirects(response, redirect_url)
|
|
|
|
def test_admin_dashboard_view(self):
|
|
"""
|
|
Test that dashboard is inaccessible without login
|
|
and redirects to login page then to dashboard
|
|
"""
|
|
target_url = url_for('home.admin_dashboard')
|
|
redirect_url = url_for('auth.login', next=target_url)
|
|
response = self.client.get(target_url)
|
|
self.assertEqual(response.status_code, 302)
|
|
self.assertRedirects(response, redirect_url)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|