def test_add_election(self): """ Test the add_election function. """ nuancierlib.add_election( session=self.session, election_name='Test', election_folder='test', election_year='2013', election_date_start=TODAY + timedelta(days=3), election_date_end=TODAY + timedelta(days=7), election_n_choice=2, election_badge_link='http://...' ) self.session.commit() elections = nuancierlib.get_elections(self.session) self.assertEqual(1, len(elections)) self.assertEqual('Test', elections[0].election_name) self.assertEqual('test', elections[0].election_folder) self.assertEqual(2013, elections[0].election_year) self.assertEqual( TODAY + timedelta(days=3), elections[0].election_date_start) self.assertEqual( TODAY + timedelta(days=7), elections[0].election_date_end) self.assertEqual(False, elections[0].election_public) self.assertEqual(2, elections[0].election_n_choice) self.assertEqual('http://...', elections[0].election_badge_link)
def test_add_election(self): """ Test the add_election function. """ self.assertRaises( nuancierlib.NuancierException, nuancierlib.add_election, session=self.session, election_name='Test', election_folder='test', election_year='2013', submission_date_start=TODAY - timedelta(days=1), submission_date_end=TODAY + timedelta(days=1), election_date_start=TODAY + timedelta(days=3), election_date_end=TODAY + timedelta(days=7), election_n_choice=2, user_n_candidates=5, election_badge_link='http://...', ) nuancierlib.add_election( session=self.session, election_name='Test', election_folder='test', election_year='2013', submission_date_start=TODAY - timedelta(days=1), submission_date_end=TODAY + timedelta(days=1), election_date_start=TODAY + timedelta(days=3), election_date_end=TODAY + timedelta(days=7), election_n_choice=2, user_n_candidates=5, election_badge_link='http://...', user='******', ) self.session.commit() elections = nuancierlib.get_elections(self.session) self.assertEqual(1, len(elections)) self.assertEqual('Test', elections[0].election_name) self.assertEqual('test', elections[0].election_folder) self.assertEqual(2013, elections[0].election_year) self.assertEqual(TODAY + timedelta(days=3), elections[0].election_date_start) self.assertEqual(TODAY + timedelta(days=7), elections[0].election_date_end) self.assertEqual(TODAY - timedelta(days=1), elections[0].submission_date_start) self.assertEqual(TODAY + timedelta(days=1), elections[0].submission_date_end) self.assertEqual(False, elections[0].election_public) self.assertEqual(2, elections[0].election_n_choice) self.assertEqual('http://...', elections[0].election_badge_link)
def test_add_election(self): """ Test the add_election function. """ self.assertRaises( nuancierlib.NuancierException, nuancierlib.add_election, session=self.session, election_name='Test', election_folder='test', election_year='2013', submission_date_start=TODAY - timedelta(days=1), submission_date_end=TODAY + timedelta(days=1), election_date_start=TODAY + timedelta(days=3), election_date_end=TODAY + timedelta(days=7), election_n_choice=2, user_n_candidates=5, election_badge_link='http://...', ) nuancierlib.add_election( session=self.session, election_name='Test', election_folder='test', election_year='2013', submission_date_start=TODAY - timedelta(days=1), submission_date_end=TODAY + timedelta(days=1), election_date_start=TODAY + timedelta(days=3), election_date_end=TODAY + timedelta(days=7), election_n_choice=2, user_n_candidates=5, election_badge_link='http://...', user='******', ) self.session.commit() elections = nuancierlib.get_elections(self.session) self.assertEqual(1, len(elections)) self.assertEqual('Test', elections[0].election_name) self.assertEqual('test', elections[0].election_folder) self.assertEqual(2013, elections[0].election_year) self.assertEqual( TODAY + timedelta(days=3), elections[0].election_date_start) self.assertEqual( TODAY + timedelta(days=7), elections[0].election_date_end) self.assertEqual( TODAY - timedelta(days=1), elections[0].submission_date_start) self.assertEqual( TODAY + timedelta(days=1), elections[0].submission_date_end) self.assertEqual(False, elections[0].election_public) self.assertEqual(2, elections[0].election_n_choice) self.assertEqual('http://...', elections[0].election_badge_link)
def admin_new(): ''' Create a new election. ''' form = nuancier.forms.AddElectionForm() if form.validate_on_submit(): try: election = nuancierlib.add_election( SESSION, election_name=form.election_name.data, election_folder=form.election_folder.data, election_year=form.election_year.data, election_date_start=form.election_date_start.data, election_date_end=form.election_date_end.data, submission_date_start=form.submission_date_start.data, election_n_choice=form.election_n_choice.data, election_badge_link=form.election_badge_link.data, user=flask.g.fas_user.username, ) SESSION.commit() except SQLAlchemyError as err: SESSION.rollback() LOG.debug("User: %s could not add an election", flask.g.fas_user.username) LOG.exception(err) flask.flash('Could not add this election, is this name or ' 'folder already used?', 'error') return flask.render_template('admin_new.html', form=form) flask.flash('Election created') if form.generate_cache.data: return admin_cache(election.id) return flask.redirect(flask.url_for('admin_index')) return flask.render_template('admin_new.html', form=form)
def test_add_election(self): """ Test the add_election function. """ nuancierlib.add_election( session=self.session, election_name='Test', election_folder='test', election_year='2013', election_open=False, election_n_choice=2, election_badge_link='http://...' ) self.session.commit() elections = nuancierlib.get_elections(self.session) self.assertEqual(1, len(elections)) self.assertEqual('Test', elections[0].election_name) self.assertEqual('test', elections[0].election_folder) self.assertEqual(2013, elections[0].election_year) self.assertEqual(False, elections[0].election_open) self.assertEqual(False, elections[0].election_public) self.assertEqual(2, elections[0].election_n_choice) self.assertEqual('http://...', elections[0].election_badge_link)
def admin_new(): ''' Create a new election. ''' if not nuancier.is_nuancier_admin(flask.g.fas_user): flask.flash('You are not an administrator of nuancier', 'error') return flask.redirect(flask.url_for('msg')) form = nuancier.forms.AddElectionForm() if form.validate_on_submit(): try: election = nuancierlib.add_election( SESSION, election_name=form.election_name.data, election_folder=form.election_folder.data, election_year=form.election_year.data, election_date_start=form.election_date_start.data, election_date_end=form.election_date_end.data, submission_date_start=form.submission_date_start.data, submission_date_end=form.submission_date_end.data, election_n_choice=form.election_n_choice.data, user_n_candidates=form.user_n_candidates.data, election_badge_link=form.election_badge_link.data, user=flask.g.fas_user.username, ) SESSION.commit() except SQLAlchemyError as err: SESSION.rollback() LOG.debug("User: %s could not add an election", flask.g.fas_user.username) LOG.exception(err) flask.flash( 'Could not add this election, is this name or ' 'folder already used?', 'error') return flask.render_template('admin_new.html', form=form) flask.flash('Election created') if form.generate_cache.data: return admin_cache(election.id) return flask.redirect(flask.url_for('admin_index')) return flask.render_template('admin_new.html', form=form)