X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=tests%2Ftest_motion.py;h=7ef5ceac11c309943e8fdb0e910d999c8e051bef;hb=068793bc0abe796473cb252ed7481b56b91f47bc;hp=bb4acf01ffab6970583e37101fecd655cd77c682;hpb=0c86fa19a545fe58e036424f2e7c551f9f0ef81c;p=motion.git diff --git a/tests/test_motion.py b/tests/test_motion.py index bb4acf0..7ef5cea 100644 --- a/tests/test_motion.py +++ b/tests/test_motion.py @@ -1,69 +1,6 @@ -import motion -import unittest -import postgresql -from unittest import TestCase -from motion import app from datetime import datetime - -app.config.update( - DEBUGUSER = {}, - GROUP_PREFIX = {'127.0.0.1:5000': {'group1': 'g1', 'group2': 'g2'}}, - DURATION = {'127.0.0.1:5000':[3, 7, 14]}, - SERVER_NAME = '127.0.0.1:5000' -) - -app.config['TESTING'] = True -app.config['DEBUG'] = False - - -class BasicTest(TestCase): - - def init_test(self): - self.app = app.test_client() - self.assertEqual(app.debug, False) - - # reset database - self.db_clear() - - # functions to manipulate motions - def createVote(self, user, motion, vote): - return self.app.post( - '/motion/' + motion +'/vote', - environ_base={'USER_ROLES': user}, - data=dict(vote=vote) - ) - - - def createMotion(self, user, motiontitle, motioncontent, days, category): - return self.app.post( - '/motion', - environ_base={'USER_ROLES': user}, - data=dict(title=motiontitle, content=motioncontent, days=days, category=category) - ) - - def cancelMotion(self, user, motion, reason): - return self.app.post( - '/motion/' + motion +'/cancel', - environ_base={'USER_ROLES': user}, - data=dict(reason=reason) - ) - - def buildResultText(self, motiontext, yes, no, abstain): - return '
'+motiontext+'
\n\nYes '+str(yes)+'
'\
- + '\nNo '+str(no)+'
'\
- + '\nAbstain '+str(abstain)+''
-
- # functions to clear database
- def db_clear(self):
- with postgresql.open(app.config.get("DATABASE"), user=app.config.get("USER"), password=app.config.get("PASSWORD")) as db:
- with app.open_resource('sql/schema.sql', mode='r') as f:
- db.execute(f.read())
-
- def db_sampledata(self):
- with postgresql.open(app.config.get("DATABASE"), user=app.config.get("USER"), password=app.config.get("PASSWORD")) as db:
- with app.open_resource('sql/sample_data.sql', mode='r') as f:
- db.execute(f.read())
-
+from tests.test_basics import BasicTest
+from motion import app
# no specific rights required
class GeneralTests(BasicTest):
@@ -72,6 +9,8 @@ class GeneralTests(BasicTest):
self.init_test()
global user
user = 'testuser/'
+ global userid
+ userid = 4
self.db_sampledata()
def tearDown(self):
@@ -84,36 +23,42 @@ class GeneralTests(BasicTest):
def test_basic_results_data(self):
result = self.app.get('/', environ_base={'USER_ROLES': user}, follow_redirects=True)
testtext= '
A third motion
'\ - + '\n\nYes 1
'\
- + '\nNo 0
'\
- + '\nAbstain 0
\n
Cancelation reason: Entered with wrong text
\nA third motion
'\ + + '\n\nYes 1
'\
+ + '\nNo 0
'\
+ + '\nAbstain 0
\n
Cancelation reason: Entered with wrong text
\nA second motion
'\ - + '\n\nYes 1
'\
- + '\nNo 2
'\
- + '\nAbstain 0
\n
My special motion
'\ - + '\n\nYes 2
'\
- + '\nNo 1
'\
- + '\nAbstain 0
\n
A second motion
\n'\
+ + '\nYes 1
'\
+ + '\nNo 2
'\
+ + '\nAbstain 0
\n
My special motion
\n'\
+ + '\nYes 2
'\
+ + '\nNo 1
'\
+ + '\nAbstain 0
\n
A second motion
\n \n\nBack\n