UPD: more/better tests.

This commit is contained in:
2019-03-25 17:17:56 +01:00
parent 94402fb5d0
commit bbe1ffac08
8 changed files with 481 additions and 144 deletions

View File

@@ -1,8 +1,5 @@
# -*- coding: utf-8 -*-
import time
from django.apps import apps
from django.contrib.auth import get_user_model
from django.contrib.auth.models import Group
from django.test import tag
from django.urls import reverse
from django.utils.translation import ugettext
@@ -14,6 +11,8 @@ from selenium.webdriver.support.ui import Select
from dav_base.tests.generic import ScreenshotTestCase
from dav_auth.tests.generic import SeleniumAuthMixin
from .generic import RoleMixin
TEST_TRAINER_EMAIL = 'trainer@localhost'
TEST_PASSWORD = u'me||ön 2'
TEST_EVENT_DATA_S = {
@@ -109,27 +108,9 @@ TEST_EVENT_DATA_M = {
@tag('screenshots', 'browser')
class TestCase(SeleniumAuthMixin, ScreenshotTestCase):
class TestCase(SeleniumAuthMixin, RoleMixin, ScreenshotTestCase):
screenshot_prefix = 'dav_events-'
def create_user_for_role(self, role_name, first_name, last_name):
group = Group(name=role_name)
group.save()
user_model = get_user_model()
email = '{}@localhost'.format(role_name)
user_name = email
password = TEST_PASSWORD
user = user_model.objects.create_user(username=user_name, password=password, email=user_name,
first_name=first_name, last_name=last_name)
user.groups.add(group)
setting_name = 'groups_{}'.format(role_name)
app_config = apps.get_app_config('dav_events')
setattr(app_config.settings, setting_name, [role_name])
return user
def create_event(self, event_data, auth=False, screenshots=True):
data = event_data
c = self.selenium
@@ -610,12 +591,19 @@ class TestCase(SeleniumAuthMixin, ScreenshotTestCase):
def setUp(self):
super(TestCase, self).setUp()
self.manager_super = self.create_user_for_role('manager_super', 'Manager Super', 'Tourenreferent')
self.manager_w = self.create_user_for_role('manager_w', 'Manager W', 'BereichsleiterWandern')
self.manager_s = self.create_user_for_role('manager_s', 'Manager S', 'BereichsleiterSki')
self.publisher_print = self.create_user_for_role('publisher_print', 'Publisher Print', 'RedaktionPrint')
self.publisher_web = self.create_user_for_role('publisher_web', 'Publisher Web', 'RedaktionWeb')
self.publisher_facebook = self.create_user_for_role('publisher_facebook', 'Publisher Facebook', 'RedaktionFacebook')
password = TEST_PASSWORD
self.manager_super = self.create_user_for_role('manager_super', password,
'Manager Super', 'Tourenreferent')
self.manager_w = self.create_user_for_role('manager_w', password,
'Manager W', 'BereichsleiterWandern')
self.manager_s = self.create_user_for_role('manager_s', password,
'Manager S', 'BereichsleiterSki')
self.publisher_print = self.create_user_for_role('publisher_print', password,
'Publisher Print', 'RedaktionPrint')
self.publisher_web = self.create_user_for_role('publisher_web', password,
'Publisher Web', 'RedaktionWeb')
self.publisher_facebook = self.create_user_for_role('publisher_facebook', password,
'Publisher Facebook', 'RedaktionFacebook')
def test_screenshots(self):
#self.quit_selenium = False