Ejemplo n.º 1
0
    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()
Ejemplo n.º 2
0
    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)
Ejemplo n.º 3
0
 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)
Ejemplo n.º 4
0
    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
Ejemplo n.º 5
0
    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()
Ejemplo n.º 6
0
 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
Ejemplo n.º 7
0
 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)
Ejemplo n.º 8
0
    def setUp(self):
        q = Question(desc="Descripcion")
        q.save()

        self.v = Voting(name="Votacion", question=q)
        self.v.save()
        super().setUp()
Ejemplo n.º 9
0
 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)
Ejemplo n.º 10
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
Ejemplo n.º 11
0
 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)
Ejemplo n.º 12
0
 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()
Ejemplo n.º 13
0
    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()
Ejemplo n.º 14
0
 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)
Ejemplo n.º 15
0
 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()
Ejemplo n.º 16
0
 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)
Ejemplo n.º 17
0
    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()
Ejemplo n.º 18
0
    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()
Ejemplo n.º 19
0
 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)
Ejemplo n.º 20
0
    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')
Ejemplo n.º 21
0
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() 
Ejemplo n.º 22
0
    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
Ejemplo n.º 23
0
    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
Ejemplo n.º 24
0
 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)
Ejemplo n.º 25
0
 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')
Ejemplo n.º 26
0
 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)
Ejemplo n.º 27
0
    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")
Ejemplo n.º 28
0
 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)
Ejemplo n.º 29
0
    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)
Ejemplo n.º 30
0
    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