Exemple #1
0
 def test_center_detail_invalid_center(self):
     self._create_and_login_user()
     self._add_user_to_group(self.user, groups.DATA_ENTRY_1_CLERK)
     tally = create_tally()
     tally.users.add(self.user)
     code = '12345'
     other_code = '21345'
     station_number = 1
     center = create_center(code, tally=tally)
     other_center = create_center(other_code, tally=tally)
     create_station(center)
     create_station(other_center)
     result_form = create_result_form(form_state=FormState.DATA_ENTRY_1,
                                      center=center,
                                      tally=tally,
                                      station_number=station_number)
     view = views.CenterDetailsView.as_view()
     session = {'result_form': result_form.pk}
     data = center_data(other_code,
                        station_number=station_number,
                        tally_id=tally.pk)
     data.update(session)
     request = self.factory.post('/', data=data)
     request.user = self.user
     request.session = session
     response = view(request, tally_id=tally.pk)
     self.assertEqual(response.status_code, 200)
     response.render()
     self.assertContains(response,
                         'Center and station numbers do not match')
Exemple #2
0
 def test_center_detail_redirects_to_enter_results(self):
     self._create_and_login_user()
     self._add_user_to_group(self.user, groups.DATA_ENTRY_1_CLERK)
     tally = create_tally()
     tally.users.add(self.user)
     code = '12345'
     station_number = 1
     center = create_center(code, tally=tally)
     create_station(center)
     result_form = create_result_form(form_state=FormState.DATA_ENTRY_1,
                                      center=center,
                                      tally=tally,
                                      station_number=station_number)
     view = views.CenterDetailsView.as_view()
     result_form_data = {'result_form': result_form.pk}
     data = center_data(code,
                        station_number=station_number,
                        tally_id=tally.pk)
     data.update(result_form_data)
     request = self.factory.post('/', data=data)
     request.user = self.user
     request.session = result_form_data
     response = view(request, tally_id=tally.pk)
     self.assertEqual(response.status_code, 302)
     self.assertIn('data-entry/enter-results',
                   response['location'])
Exemple #3
0
 def test_center_detail_redirects_to_enter_results(self):
     self._create_and_login_user()
     self._add_user_to_group(self.user, groups.DATA_ENTRY_1_CLERK)
     tally = create_tally()
     tally.users.add(self.user)
     code = '12345'
     station_number = 1
     center = create_center(code, tally=tally)
     create_station(center)
     result_form = create_result_form(form_state=FormState.DATA_ENTRY_1,
                                      center=center,
                                      tally=tally,
                                      station_number=station_number)
     view = views.CenterDetailsView.as_view()
     result_form_data = {'result_form': result_form.pk}
     data = center_data(code,
                        station_number=station_number,
                        tally_id=tally.pk)
     data.update(result_form_data)
     request = self.factory.post('/', data=data)
     request.user = self.user
     request.session = result_form_data
     response = view(request, tally_id=tally.pk)
     self.assertEqual(response.status_code, 302)
     self.assertIn('data-entry/enter-results',
                   response['location'])
Exemple #4
0
 def test_center_detail_center_alpha_numeric(self):
     self._create_and_login_user()
     self._add_user_to_group(self.user, groups.DATA_ENTRY_1_CLERK)
     tally = create_tally()
     tally.users.add(self.user)
     code = '12345'
     station_number = 1
     center = create_center(code, tally=tally)
     create_station(center)
     result_form = create_result_form(form_state=FormState.DATA_ENTRY_1,
                                      center=center,
                                      tally=tally,
                                      station_number=station_number)
     view = views.CenterDetailsView.as_view()
     data = center_data('12345', '12346')
     data['center_number'] = 'abcde'
     data['center_number_copy'] = 'abcde'
     session = {'result_form': result_form.pk}
     data.update(session)
     request = self.factory.post('/', data=data)
     request.user = self.user
     request.session = session
     response = view(request, tally_id=tally.pk)
     self.assertContains(response,
                         u'Expecting only numbers for center number')
Exemple #5
0
 def test_center_detail_invalid_center(self):
     code = '12345'
     other_code = '21345'
     station_number = 1
     center = create_center(code)
     other_center = create_center(other_code)
     create_station(center)
     create_station(other_center)
     result_form = create_result_form(form_state=FormState.DATA_ENTRY_1,
                                      center=center,
                                      station_number=station_number)
     self._create_and_login_user()
     self._add_user_to_group(self.user, groups.DATA_ENTRY_1_CLERK)
     view = views.CenterDetailsView.as_view()
     session = {'result_form': result_form.pk}
     data = center_data(other_code, station_number=station_number)
     data.update(session)
     request = self.factory.post('/', data=data)
     request.user = self.user
     request.session = session
     response = view(request)
     self.assertEqual(response.status_code, 200)
     response.render()
     self.assertContains(response,
                         'Center and station numbers do not match')
Exemple #6
0
 def test_center_detail_center_alpha_numeric(self):
     self._create_and_login_user()
     self._add_user_to_group(self.user, groups.DATA_ENTRY_1_CLERK)
     tally = create_tally()
     tally.users.add(self.user)
     code = '12345'
     station_number = 1
     center = create_center(code, tally=tally)
     create_station(center)
     result_form = create_result_form(form_state=FormState.DATA_ENTRY_1,
                                      center=center,
                                      tally=tally,
                                      station_number=station_number)
     view = views.CenterDetailsView.as_view()
     data = center_data('12345', '12346')
     data['center_number'] = 'abcde'
     data['center_number_copy'] = 'abcde'
     session = {'result_form': result_form.pk}
     data.update(session)
     request = self.factory.post('/', data=data)
     request.user = self.user
     request.session = session
     response = view(request, tally_id=tally.pk)
     self.assertContains(response,
                         u'Expecting only numbers for center number')
Exemple #7
0
    def test_enter_results_has_candidates(self):
        code = '12345'
        center = create_center(code)
        create_station(center)
        result_form = create_result_form(form_state=FormState.DATA_ENTRY_1)
        ballot = result_form.ballot
        candidate_name = 'candidate name'
        create_candidate(ballot, candidate_name)

        self._create_and_login_user()
        self._add_user_to_group(self.user, groups.DATA_ENTRY_1_CLERK)
        view = views.EnterResultsView.as_view()
        data = center_data(code)
        request = self.factory.get('/', data=data)
        request.user = self.user
        request.session = {'result_form': result_form.pk}
        response = view(request)
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, candidate_name)
Exemple #8
0
 def test_center_detail_center_not_equal(self):
     code = '12345'
     station_number = 1
     center = create_center(code)
     create_station(center)
     result_form = create_result_form(form_state=FormState.DATA_ENTRY_1,
                                      center=center,
                                      station_number=station_number)
     self._create_and_login_user()
     self._add_user_to_group(self.user, groups.DATA_ENTRY_1_CLERK)
     view = views.CenterDetailsView.as_view()
     data = center_data('12345', '12346')
     session = {'result_form': result_form.pk}
     data.update(session)
     request = self.factory.post('/', data=data)
     request.user = self.user
     request.session = session
     response = view(request)
     self.assertContains(response, 'Center Numbers do not match')
Exemple #9
0
    def test_enter_results_has_candidates(self):
        code = '12345'
        center = create_center(code)
        create_station(center)
        result_form = create_result_form(form_state=FormState.DATA_ENTRY_1)
        ballot = result_form.ballot
        candidate_name = 'candidate name'
        create_candidate(ballot, candidate_name)

        self._create_and_login_user()
        self._add_user_to_group(self.user, groups.DATA_ENTRY_1_CLERK)
        view = views.EnterResultsView.as_view()
        data = center_data(code)
        request = self.factory.get('/', data=data)
        request.user = self.user
        request.session = {'result_form': result_form.pk}
        response = view(request)
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, candidate_name)
Exemple #10
0
 def test_center_detail_validates_clerk(self):
     code = '12345'
     station_number = 1
     center = create_center(code)
     create_station(center)
     result_form = create_result_form(form_state=FormState.DATA_ENTRY_2,
                                      center=center,
                                      station_number=station_number)
     self._create_and_login_user()
     self._add_user_to_group(self.user, groups.DATA_ENTRY_1_CLERK)
     view = views.CenterDetailsView.as_view()
     result_form_data = {'result_form': result_form.pk}
     data = center_data(code, station_number=station_number)
     data.update(result_form_data)
     request = self.factory.post('/', data=data)
     request.user = self.user
     request.session = result_form_data
     response = view(request)
     self.assertEqual(response.status_code, 200)
     self.assertContains(response, 'Data Entry 2')
Exemple #11
0
 def test_center_detail_validates_clerk(self):
     code = '12345'
     station_number = 1
     center = create_center(code)
     create_station(center)
     result_form = create_result_form(form_state=FormState.DATA_ENTRY_2,
                                      center=center,
                                      station_number=station_number)
     self._create_and_login_user()
     self._add_user_to_group(self.user, groups.DATA_ENTRY_1_CLERK)
     view = views.CenterDetailsView.as_view()
     result_form_data = {'result_form': result_form.pk}
     data = center_data(code, station_number=station_number)
     data.update(result_form_data)
     request = self.factory.post('/', data=data)
     request.user = self.user
     request.session = result_form_data
     response = view(request)
     self.assertEqual(response.status_code, 200)
     self.assertContains(response, 'Data Entry 2')
Exemple #12
0
 def test_center_detail_no_station(self):
     code = '12345'
     station_number = 1
     center = create_center(code)
     create_station(center)
     result_form = create_result_form(form_state=FormState.DATA_ENTRY_1,
                                      center=center,
                                      station_number=station_number)
     self._create_and_login_user()
     self._add_user_to_group(self.user, groups.DATA_ENTRY_1_CLERK)
     view = views.CenterDetailsView.as_view()
     session = {'result_form': result_form.pk}
     data = center_data(code)
     data.update(session)
     data.update({'station_number': 3, 'station_number_copy': 3})
     request = self.factory.post('/', data=data)
     request.user = self.user
     request.session = session
     response = view(request)
     self.assertEqual(response.status_code, 200)
     self.assertContains(response, 'Invalid Station Number for this Center')
Exemple #13
0
 def test_center_detail_no_station(self):
     code = '12345'
     station_number = 1
     center = create_center(code)
     create_station(center)
     result_form = create_result_form(form_state=FormState.DATA_ENTRY_1,
                                      center=center,
                                      station_number=station_number)
     self._create_and_login_user()
     self._add_user_to_group(self.user, groups.DATA_ENTRY_1_CLERK)
     view = views.CenterDetailsView.as_view()
     session = {'result_form': result_form.pk}
     data = center_data(code)
     data.update(session)
     data.update({'station_number': 3, 'station_number_copy': 3})
     request = self.factory.post('/', data=data)
     request.user = self.user
     request.session = session
     response = view(request)
     self.assertEqual(response.status_code, 200)
     self.assertContains(response, 'Invalid Station Number for this Center')
Exemple #14
0
 def test_center_detail_center_not_equal(self):
     self._create_and_login_user()
     tally = create_tally()
     tally.users.add(self.user)
     code = '12345'
     station_number = 1
     center = create_center(code, tally=tally)
     create_station(center)
     result_form = create_result_form(form_state=FormState.DATA_ENTRY_1,
                                      center=center,
                                      tally=tally,
                                      station_number=station_number)
     self._add_user_to_group(self.user, groups.DATA_ENTRY_1_CLERK)
     view = views.CenterDetailsView.as_view()
     data = center_data('12345', '12346')
     session = {'result_form': result_form.pk}
     data.update(session)
     request = self.factory.post('/', data=data)
     request.user = self.user
     request.session = session
     response = view(request, tally_id=tally.pk)
     self.assertContains(response, 'Center Numbers do not match')
Exemple #15
0
 def test_center_detail_validates_clerk(self):
     self._create_and_login_user()
     self._add_user_to_group(self.user, groups.DATA_ENTRY_1_CLERK)
     tally = create_tally()
     tally.users.add(self.user)
     code = '12345'
     station_number = 1
     center = create_center(code, tally=tally)
     create_station(center)
     result_form = create_result_form(form_state=FormState.DATA_ENTRY_2,
                                      center=center,
                                      tally=tally,
                                      station_number=station_number)
     view = views.CenterDetailsView.as_view()
     result_form_data = {'result_form': result_form.pk}
     data = center_data(code, station_number=station_number)
     data.update(result_form_data)
     request = self.factory.post('/', data=data)
     request.user = self.user
     request.session = result_form_data
     response = view(request, tally_id=tally.pk)
     self.assertEqual(response.status_code, 200)
     response.render()
     self.assertIn(b'Data Entry 2', response.content)
Exemple #16
0
 def test_center_detail_validates_clerk(self):
     self._create_and_login_user()
     self._add_user_to_group(self.user, groups.DATA_ENTRY_1_CLERK)
     tally = create_tally()
     tally.users.add(self.user)
     code = '12345'
     station_number = 1
     center = create_center(code, tally=tally)
     create_station(center)
     result_form = create_result_form(form_state=FormState.DATA_ENTRY_2,
                                      center=center,
                                      tally=tally,
                                      station_number=station_number)
     view = views.CenterDetailsView.as_view()
     result_form_data = {'result_form': result_form.pk}
     data = center_data(code, station_number=station_number)
     data.update(result_form_data)
     request = self.factory.post('/', data=data)
     request.user = self.user
     request.session = result_form_data
     response = view(request, tally_id=tally.pk)
     self.assertEqual(response.status_code, 200)
     response.render()
     self.assertIn(b'Data Entry 2', response.content)