OpenSlides/tests/account/test_widgets.py
Oskar Hahn d937262d28 Use flake8 instead of pep8. Orderd the imports with isort
* changed the fab-command pep8 to check
* checked and fixed any code with flake8. Also the urls.py
* checkt the projector app with pylint
2013-10-14 18:43:12 +02:00

110 lines
4.8 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Tests for the widgets of openslides.account
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:copyright: 20112013 by OpenSlides team, see AUTHORS.
:license: GNU GPL, see LICENSE for more details.
"""
from django.test.client import Client
from openslides.config.api import config
from openslides.participant.models import User
from openslides.utils.test import TestCase
class PersonalInfoWidget(TestCase):
"""
Tests the content of the personal info widget.
"""
def import_agenda(self):
"""
Helper function to make the module agenda optional.
"""
try:
from openslides import agenda
except ImportError:
return False
else:
return agenda
def import_motion(self):
"""
Helper function to make the module motion optional.
"""
try:
from openslides import motion
except ImportError:
return False
else:
return motion
def import_assignment(self):
"""
Helper function to make the module assignment optional.
"""
try:
from openslides import assignment
except ImportError:
return False
else:
return assignment
def setUp(self):
self.user = User.objects.create(username='HansMeiser')
self.user.reset_password('default')
self.client = Client()
self.client.login(username='HansMeiser', password='default')
def test_widget_appearance(self):
response = self.client.get('/projector/dashboard/')
self.assertContains(response, 'My items, motions and elections', status_code=200)
def test_item_list(self):
agenda = self.import_agenda()
if agenda:
item_1 = agenda.models.Item.objects.create(title='My Item Title iw5ohNgee4eiYahb5Eiv')
speaker = agenda.models.Speaker.objects.add(item=item_1, person=self.user)
response = self.client.get('/projector/dashboard/')
self.assertContains(response, 'I am on the list of speakers of the following items:', status_code=200)
self.assertContains(response, 'My Item Title iw5ohNgee4eiYahb5Eiv', status_code=200)
speaker.begin_speach()
response = self.client.get('/projector/dashboard/')
self.assertNotContains(response, 'My Item Title iw5ohNgee4eiYahb5Eiv', status_code=200)
def test_submitter_list(self):
motion = self.import_motion()
if motion:
motion_1 = motion.models.Motion.objects.create(title='My Motion Title pa8aeNohYai0ahge', text='My Motion Text')
motion_2 = motion.models.Motion.objects.create(title='My Motion Title quielohL7vah1weochai', text='My Motion Text')
motion.models.MotionSubmitter.objects.create(motion=motion_1, person=self.user)
motion.models.MotionSubmitter.objects.create(motion=motion_2, person=self.user)
response = self.client.get('/projector/dashboard/')
self.assertContains(response, 'I submitted the following motions:', status_code=200)
self.assertContains(response, 'My Motion Title pa8aeNohYai0ahge', status_code=200)
self.assertContains(response, 'My Motion Title quielohL7vah1weochai', status_code=200)
def test_supporter_list(self):
motion = self.import_motion()
if motion:
motion_1 = motion.models.Motion.objects.create(title='My Motion Title jahN9phaiThae5ooKubu', text='My Motion Text')
motion_2 = motion.models.Motion.objects.create(title='My Motion Title vech9ash8aeh9eej2Ga2', text='My Motion Text')
motion.models.MotionSupporter.objects.create(motion=motion_1, person=self.user)
motion.models.MotionSupporter.objects.create(motion=motion_2, person=self.user)
config['motion_min_supporters'] = 1
response = self.client.get('/projector/dashboard/')
self.assertContains(response, 'I support the following motions:', status_code=200)
self.assertContains(response, 'My Motion Title jahN9phaiThae5ooKubu', status_code=200)
self.assertContains(response, 'My Motion Title vech9ash8aeh9eej2Ga2', status_code=200)
def test_candidate_list(self):
assignment = self.import_assignment()
if assignment:
assignment_1 = assignment.models.Assignment.objects.create(name='Hausmeister ooKoh7roApoo3phe', posts=1)
assignment_1.run(candidate=self.user, person=self.user)
response = self.client.get('/projector/dashboard/')
self.assertContains(response, 'I am candidate for the following elections:', status_code=200)
self.assertContains(response, 'Hausmeister ooKoh7roApoo3phe', status_code=200)