"""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()