def test_voter_submission_stats__submissions(self): from nuorisovaalit.models import School from nuorisovaalitadmin.models import CSVSubmission from nuorisovaalitadmin.models import User from nuorisovaalitadmin.views.allianssi import voter_submission_stats session = DBSession() populate_testing_db() eschools = session.query(School)\ .join(User)\ .filter(User.eparticipation == True)\ .all() self.assertTrue(len(eschools) > 0) school = eschools[0] # Check that there is no submission to begin with. self.assertEquals(0, session.query(CSVSubmission).count()) # Add a submission for the school. session.add(CSVSubmission({}, school, CSVSubmission.VOTER)) session.flush() school_count = len(eschools) school_names_not_submitted = [s.name for s in eschools if s.name != school.name] options = voter_submission_stats(DummyRequest()) options_not_submitted = [s.name for s in options['schools_not_submitted']] self.assertEquals(school_count - 1, len(options_not_submitted)) self.assertEquals(school_names_not_submitted, options_not_submitted)
def test_voter_submission_stats__no_schools(self): from nuorisovaalit.models import School from nuorisovaalitadmin.views.allianssi import voter_submission_stats session = DBSession() # Check that there is no schools. self.assertEquals(0, session.query(School).count()) options = voter_submission_stats(DummyRequest()) self.assertEquals(u'Äänestäjälista-info', options['title']) self.assertEquals(0, options['school_count']) self.assertEquals(0, options['school_count_submitted']) self.assertEquals('0.00', options['submitted']) self.assertEquals([], list(options['schools_not_submitted']))
def test_voter_submission_stats__no_submissions(self): from nuorisovaalit.models import School from nuorisovaalitadmin.models import User from nuorisovaalitadmin.views.allianssi import voter_submission_stats session = DBSession() populate_testing_db() school_names = session.query(School.name)\ .join(User)\ .filter(User.eparticipation == True)\ .order_by(School.name)\ .all() self.assertTrue(len(school_names) > 0) options = voter_submission_stats(DummyRequest()) # Check that all schools have not submitted by default. self.assertEquals(school_names, [(s.name,) for s in options['schools_not_submitted']])
def test_voter_submission_stats__submission_with_wrong_kind(self): from nuorisovaalit.models import School from nuorisovaalitadmin.models import CSVSubmission from nuorisovaalitadmin.models import User from nuorisovaalitadmin.views.allianssi import voter_submission_stats session = DBSession() populate_testing_db() eschools = session.query(School)\ .join(User)\ .filter(User.eparticipation == True)\ .all() self.assertTrue(len(eschools) > 0) school = eschools[0] # Add a submission for the school. session.add(CSVSubmission({}, school, CSVSubmission.RESULT)) session.flush() options = voter_submission_stats(DummyRequest()) self.assertEquals(len(eschools), len(list(options['schools_not_submitted'])))