def setUp(self): user = User(username='******', password='******') user.save() auth = Auth(name='prueba', url='localhost:8000') question = Question(desc='prueba') auth.save() question.save() voting = Voting(name='prueba', question=question) user.save() auth.save() question.save() voting.save() voting.auths.add(auth) voting.save() self.users = [ user, ] self.test_auths = [ auth, ] self.test_question = question self.test_census = Census(name='Prueba', voting_id=voting) self.test_census.save() self.test_census.voter_id.add(user) self.test_census.save()
def test_get_voting_per_user(self): for i in range(2): q = Question(desc='test question') q.save() for j in range(5): opt = QuestionOption(question=q, option='option {}'.format(j + 1)) opt.save() v = Voting(name='test voting', question=q, tipe='testType') v.save() a, _ = Auth.objects.get_or_create(url=settings.BASEURL, defaults={ 'me': True, 'name': 'test auth' }) a.save() v.auths.add(a) u, _ = User.objects.get_or_create(username='******') u.is_active = True u.save() for v in Voting.objects.all(): c = Census(voter_id=u.id, voting_id=v.id) c.save() response = self.client.get('/voting/user/?id={}'.format(u.id)) self.assertEqual(response.status_code, 200) self.assertEqual(len(response.data), 2)
def test_modify_preferences_question(self): q = Question(desc='Preferences question', preferences=False) q.save() self.assertTrue(q.preferences == False) q.preferences = True q.save() self.assertTrue(q.preferences == True)
def create_voting(self): v = Voting(name='test voting', postproc_type=PostProcType.IDENTITY) v.save() q1 = Question(desc='test question 1', voting=v) q1.save() for i in range(5): opt = QuestionOption(question=q1, option='option {}'.format(i + 1)) opt.save() q2 = Question(desc='test question 2', voting=v) q2.save() for i in range(5): opt = QuestionOption(question=q2, option='option {}'.format(i + 1)) opt.save() a, _ = Auth.objects.get_or_create(url=settings.BASEURL, defaults={ 'me': True, 'name': 'test auth' }) a.save() v.auths.add(a) return v, q1, q2
def save(self): candidate_file = self.cleaned_data.get('candidate_file', None) df = Voting.checkInputFile(candidate_file) auth = Auth.objects.get_or_create(url=settings.BASEURL, name='Sys')[0] for name, group in df.groupby(['Provincia']): count = 2 quest = Question(desc='Elige un máximo de 2 personas para las ' 'listas al senado por ' + name) quest.save() voting_name = 'Votación Senado ' + name voting_desc = 'Listas al Senado por ' + name voting = Voting(name=voting_name, desc=voting_desc, question=quest) voting.save() voting.auths.add(auth) for row in group.iterrows(): count += 1 desc_option = row[1][5] + ': ' + \ row[1][0] + ' ' + row[1][1] + ' ' + row[1][2] quest_option = QuestionOption(number=count, option=desc_option) quest_option.question = quest quest_option.save()
def create_question(self): q = Question(desc='test question', si_no='False', preferences='False') q.save() for i in range(5): opt = QuestionOption(question=q, option='option {}'.format(i + 1)) opt.save() return q
def test_create_multiquestion_preferences_voting(self): q1 = Question(desc='question1') q1.save() for i in range(5): opt = QuestionOption(question=q1, option='option {}'.format(i + 1)) opt.save() q2 = Question(desc='preferences', preferences=True) q2.save() for i in range(5): opt = QuestionOption(question=q2, option='option {}'.format(i + 1)) opt.save() v = Voting(name='test voting') v.save() a, _ = Auth.objects.get_or_create(url=settings.BASEURL, defaults={ 'me': True, 'name': 'test auth' }) a.save() v.auths.add(a) v.question.add(q1) v.question.add(q2) a = v.question.all().count() == 2 b = v.question.all()[1].preferences == True self.assertTrue(a, b)
def setUp(self): q = Question(desc="Descripcion") q.save() self.v = Voting(name="Votacion", question=q) self.v.save() super().setUp()
def test_delete_yes_no_question_relacionada_stopped(self): q = Question(desc='si/no question', si_no=True) q.save() v = Voting(name='test voting') v.save() a, _ = Auth.objects.get_or_create(url=settings.BASEURL, defaults={ 'me': True, 'name': 'test auth' }) a.save() v.auths.add(a) v.question.add(q) self.assertEqual(v.question.all().count(), 1) self.login() data = {'action': 'start'} response = self.client.put('/voting/{}/'.format(v.pk), data, format='json') self.assertEqual(response.status_code, 200) self.assertEqual(response.json(), 'Voting started') data2 = {'action': 'stop'} response2 = self.client.put('/voting/{}/'.format(v.pk), data2, format='json') self.assertEqual(response2.status_code, 200) self.assertEqual(response2.json(), 'Voting stopped') q.delete() self.assertEqual(v.question.all().count(), 0)
def create_voting(self): # Creation of questions test for the voting q = Question(desc='test question') q2 = Question(desc='test question 2') # Saving the questions before adding them to the voting q.save() q2.save() # Creation of question options per each question previouly created for i in range(5): opt = QuestionOption(question=q, option='option {}'.format(i + 1)) opt.save() for n in range(5): opt2 = QuestionOption(question=q2, option='option {}'.format(n + 1)) opt2.save() # Creation and storage of voting v = Voting(name='test voting', desc='testeo de voting') v.save() # Addition of the questions created to the voting v.questions.add(q) a, _ = Auth.objects.get_or_create(url=settings.BASEURL, defaults={'me': True, 'name': 'test auth'}) a.save() v.auths.add(a) return v
def test_transform_question_with_one_option_to_yes_no(self): q = Question(desc='si_no question', si_no=False) q.save() opt = QuestionOption(question=q, number='3', option='option 3') opt.save() self.assertTrue(q.si_no == False) q.si_no = True self.assertTrue(q.si_no == True) self.assertRaises(ValidationError, opt.clean)
def gen_voting(self, pk): voting = Voting(pk=pk, name='v1', postproc_type=PostProcType.IDENTITY, start_date=timezone.now(), end_date=timezone.now() + datetime.timedelta(days=1)) voting.save() q = Question(desc='qwerty', voting=voting) q.save()
def setUp(self): q1 = Question(desc='Elige un máximo de 2 personas para las listas del ' 'senado por Ávila') q1.save() opt11 = QuestionOption(question=q1, option='PSOE: García Mata, Jaime', gender='H') opt11.save() opt12 = QuestionOption(question=q1, option='PP: López Ugarte, Mohamed', gender='H') opt12.save() opt13 = QuestionOption(question=q1, option='PP: Samaniego Nolé, María', gender='M') opt13.save() opt14 = QuestionOption(question=q1, option='PP: Llanos Plana, Josefa', gender='M') opt14.save() opt15 = QuestionOption(question=q1, option='PP: Encinas Cuervo, Gonzo', gender='H') opt15.save() q2 = Question(desc='Elige un máximo de 2 personas para las listas del ' 'senado por Sevilla') q2.save() opt21 = QuestionOption(question=q2, option='PSOE: Núñez Mata, Mohamed', gender='H') opt21.save() opt22 = QuestionOption(question=q2, option='PP: López Ugarte, Mohamed', gender='H') opt22.save() opt23 = QuestionOption(question=q2, option='PP: Anguita Ruiz, María', gender='M') opt23.save() opt24 = QuestionOption(question=q2, option='PP: Girón Plana, Jaime', gender='H') opt24.save() opt25 = QuestionOption(question=q2, option='PP: Encinas Cuevas, Gonzo', gender='H') opt25.save() v1 = Voting(name='Votación Senado Ávila', question=q1, desc='Listas al Senado por Ávila') v1.save() v2 = Voting(name='Votación Senado Sevilla', question=q2, desc='Listas al Senado por Sevilla') v2.save() a, _ = Auth.objects.get_or_create(url=settings.BASEURL, defaults={'me': True, 'name': 'test auth'}) a.save() v1.auths.add(a) v2.auths.add(a) super().setUp()
def test_create_yes_no_question(self): q = Question(desc='si/no question', si_no=True) q.save() a = q.options.count() == 3 opt1 = q.options.all()[0] opt2 = q.options.all()[1] opt3 = q.options.all()[2] b = (opt1.number == 1 and opt1.option == "Si") c = (opt2.number == 2 and opt2.option == "No") d = (opt3.number == 3 and opt3.option == "No sabe, no contesta") self.assertTrue(a and b and c and d)
def setUp(self): q = Question(desc='question') q.save() opt1 = QuestionOption(question=q, option='uno') opt1.save() opt2 = QuestionOption(question=q, option='dos') opt2.save() v = Voting(name='VotingTest', desc='Description', question=q) self.v = v self.v.save() super().setUp()
def test_model_ejercicio1(self): q = Question(desc='Pregunta ejercicio 1') q.save() opt = QuestionOption(question=q, option='option 1') opt.save() opt2 = QuestionOption(question=q, option= 'option 2') opt2.save() v = Voting(name='Votacion ejercicio 1', question=q) v.save() vTest=Voting.objects.get(name='Votacion ejercicio 1') self.assertEqual(vTest.question,v.question) self.assertEqual(vTest.name,v.name)
def setUp(self): q = Question(desc="Descripcion") q.save() opt1 = QuestionOption(question=q, option="option1") opt1.save() opt2 = QuestionOption(question=q, option="option2") opt2.save() self.v = ReadonlyVoting(name="Votacion", question=q, desc="example") self.v.save() super().setUp()
def setUp(self): q = Question(desc="Descripción") q.save() opt1 = QuestionOption(question=q, option="option1") opt1.save() opt2 = QuestionOption(question=q, option="option2") opt2.save() self.v = Voting(name="Votación", question=q) self.v.save() super().setUp()
def test_create_voting_with_yes_no_question(self): q = Question(desc='si/no question', si_no=True) q.save() v = Voting(name='test voting') v.save() a, _ = Auth.objects.get_or_create(url=settings.BASEURL, defaults={ 'me': True, 'name': 'test auth' }) a.save() v.auths.add(a) v.question.add(q) self.assertEqual(v.question.all().count(), 1)
def test_yes_no_question(self): v = Voting(name='test voting', postproc_type=PostProcType.IDENTITY) v.save() q = Question(voting=v, desc='yes/no test question', yes_no_question=True) q.save() opts = list(q.options.all()) self.assertEqual(len(opts), 2) self.assertEqual(opts[0].option, 'Si') self.assertEqual(opts[1].option, 'No')
class QuestionModelTest(TestCase): def setUp(self): self.test_question = Question(desc = "Descripción de prueba3", escaños = 760) self.test_question.save() def test_question_creation(self): self.assertEquals(self.test_question.desc, "Descripción de prueba3") self.assertEquals(self.test_question.escaños, 760) def test_str_question(self): self.assertEquals(str(self.test_question), "Descripción de prueba3") def tearDown(self): self.test_question.delete()
def create_voting(self): q = Question(desc='test question') q.save() for i in range(5): opt = QuestionOption(question=q, option='option {}'.format(i+1)) opt.save() v = Voting(name='test voting', question=q, tipe='testType') v.save() a, _ = Auth.objects.get_or_create(url=settings.BASEURL, defaults={'me': True, 'name': 'test auth'}) a.save() v.auths.add(a) return v
def create_order_voting(self): q = Question(desc='test ordering question') q.save() for i in range(5): opt = QuestionOrder(question=q, option='ordering option {}'.format(i+1), order_number='{}'.format(i+1)) opt.save() v = Voting(name='test ordering voting', question=q) v.save() a, _ = Auth.objects.get_or_create(url=settings.BASEURL, defaults={'me': True, 'name': 'test auth'}) a.save() v.auths.add(a) return v
def test_transform_empty_question_in_voting_to_yes_no(self): q = Question(desc='si_no question', si_no=False) q.save() v = Voting(name='test voting') v.save() a, _ = Auth.objects.get_or_create(url=settings.BASEURL, defaults={ 'me': True, 'name': 'test auth' }) a.save() v.auths.add(a) v.question.add(q) self.assertTrue(q.si_no == False) q.si_no = True self.assertTrue(q.si_no == True)
def test_edit_yes_no_question_desc_in_voting(self): q = Question(desc='si_no question', si_no=True) q.save() v = Voting(name='test voting') v.save() a, _ = Auth.objects.get_or_create(url=settings.BASEURL, defaults={ 'me': True, 'name': 'test auth' }) a.save() v.auths.add(a) v.question.add(q) self.assertTrue(q.si_no == True) q.desc = 'si_no question modificada' self.assertTrue(q.desc == 'si_no question modificada')
def test_edit_yes_no_question_in_voting_add_opt(self): q = Question(desc='si_no question', si_no=True) q.save() v = Voting(name='test voting') v.save() a, _ = Auth.objects.get_or_create(url=settings.BASEURL, defaults={ 'me': True, 'name': 'test auth' }) a.save() v.auths.add(a) v.question.add(q) self.assertTrue(q.si_no == True) opt = QuestionOption(question=q, option='option 3', number='3') self.assertRaises(ValidationError, opt.clean)
def test_simpleVisualizer(self): q = Question(desc='test question') q.save() v = Voting(name='test voting', question=q) v.save() #print(f"Live URL= {self.live_server_url}/visualizer/{v.pk}/") response = self.driver.get( f'{self.live_server_url}/visualizer/{v.pk}/') #print(f"Web source= {self.driver.page_source}") vState = self.driver.find_element_by_tag_name("h2").text #print(f"Estado = {vState}") #assert "no comenzada" in self.driver.page_source self.assertTrue(vState, "Votación no comenzada")
def test_create_onequestion_voting(self): q1 = Question(desc='question1') q1.save() for i in range(5): opt = QuestionOption(question=q1, option='option {}'.format(i + 1)) opt.save() v = Voting(name='test voting') v.save() a, _ = Auth.objects.get_or_create(url=settings.BASEURL, defaults={ 'me': True, 'name': 'test auth' }) a.save() v.auths.add(a) v.question.add(q1) self.assertEqual(v.question.all().count(), 1)
def test_no_political_party_voting_senate(self): u = User(username='******') u.set_password('senator') u.save() q = Question(desc='Choose') q.save() opt = QuestionOption(question=q, option='senator') opt.save() political_party = PoliticalParty(name='Partido Popular', acronym='PP', description='test', headquarters='test') political_party.save() birthdate = date(2000, 2, 28) userProfile = UserProfile(related_political_party=political_party, birthdate=birthdate, sex='F', related_user=u, province='S', employment='S') userProfile.save() v = Voting(name='test voting', question=q, tipe='S', province='S', political_party=political_party) v.save() a, _ = Auth.objects.get_or_create(url=settings.BASEURL, defaults={ 'me': True, 'name': 'test auth' }) a.save() v.auths.add(a) self.assertRaises(ValidationError, v.clean)
def create_binary_voting(self): q = Question(desc='binary question') q.save() opt = QuestionOption(question=q, option='', yes=True, no=False) opt.save() opt2 = QuestionOption(question=q, option='', yes=False, no=True) opt2.save() v = Voting(name='test voting', question=q) v.save() a, _ = Auth.objects.get_or_create(url=settings.BASEURL, defaults={ 'me': True, 'name': 'test auth' }) a.save() v.auths.add(a) return v