def test_should_create_rapid_pro_poll_response(self):
        response = self.client.post(self.API_ENDPOINT,
                                    data=self.expected_poll_response)
        self.assertEqual(201, response.status_code)

        retrieved_poll_response = PollResponse.objects(**self.poll_response)
        self.assertEqual(1, retrieved_poll_response.count())
    def test_should_process_special_test_response(self):
        response = self.client.post(self.API_ENDPOINT,
                                    data=self.special_response_for_rapidtester)
        self.assertEqual(201, response.status_code)

        retrieved_poll_response = PollResponse.objects(**self.special_response)
        self.assertEqual(0, retrieved_poll_response.count())
    def test_should_assign_response_location_to_mobile_user_location(self):
        response = self.client.post(self.API_ENDPOINT,
                                    data=self.expected_poll_response)
        retrieved_poll_response = PollResponse.objects(**self.poll_response)

        self.assertEqual(201, response.status_code)
        self.assertEqual(self.village, retrieved_poll_response[0].location)
    def test_should_save_no_text_poll_response(self):
        response = self.client.post(self.API_ENDPOINT,
                                    data=self.no_text_response)
        self.assertEqual(201, response.status_code)

        retrieved_poll_response = PollResponse.objects(**self.no_text_message)
        self.assertEqual(1, retrieved_poll_response.count())
Exemplo n.º 5
0
    def test_save_poll_response(self):
        self.poll_response['poll'] = self.poll

        PollResponse(**self.poll_response).save()

        poll_response = PollResponse.objects(**self.poll_response)
        self.assertEqual(1, poll_response.count())
Exemplo n.º 6
0
    def test_should_process_and_categorise_yesno_poll_responses(self):
        self.poll_attr['ptype'] = 'yesno'
        self.poll_attr['keyword']  = 'akeyword'
        poll = Poll(**self.poll_attr).save()

        self.poll_response['text'] = 'yes'
        PollResponse(**self.poll_response).save()

        poll_response = PollResponse.objects(**self.poll_response)
        self.assertEqual(1, poll_response.count())

        yes_category = ResponseCategory.objects(**dict(poll=poll, name='yes')).first()

        self.assertEqual(1, PollResponseCategory.objects.count())
        self.assertEqual(1, PollResponseCategory.objects(**dict(response_category=yes_category, poll_response=poll_response.first())).count())

        #a 'NO' Response
        self.poll_response['text'] = 'nah'
        PollResponse(**self.poll_response).save()

        poll_response = PollResponse.objects(**self.poll_response)
        self.assertEqual(1, poll_response.count())

        no_category = ResponseCategory.objects(**dict(poll=poll, name='no')).first()

        self.assertEqual(2, PollResponseCategory.objects.count())
        self.assertEqual(1, PollResponseCategory.objects(**dict(response_category=no_category, poll_response=poll_response.first())).count())

        #a 'unknown' Response
        self.poll_response['text'] = 'very wiered response'
        PollResponse(**self.poll_response).save()

        poll_response = PollResponse.objects(**self.poll_response)
        self.assertEqual(1, poll_response.count())

        unknown_category = ResponseCategory.objects(**dict(poll=poll, name='unknown')).first()

        self.assertEqual(3, PollResponseCategory.objects.count()) #bad response not associated with poll
        self.assertEqual(1, PollResponseCategory.objects(**dict(response_category=unknown_category, poll_response=poll_response.first())).count())

        #should count results
        results_count = poll.yesno_poll_stats()
        self.assertEqual(1, results_count['yes'])
        self.assertEqual(1, results_count['unknown'])
        self.assertEqual(1, results_count['no'])
    def test_should_create_yesno_poll_response(self):
        self.poll_attr['ptype'] = 'yesno'
        self.poll_attr['keyword'] = 'weiredkey'
        self.poll_attr['question'] = 'Are there any disasters in your area? YES or NO'
        self.poll = Poll(**self.poll_attr).save()
        self.expected_poll_response['text'] = 'NECOCPoll.yes'
        self.poll_response['text'] = 'NECOCPoll.yes'

        response = self.client.post(self.API_ENDPOINT, data=self.expected_poll_response)
        self.assertEqual(201, response.status_code)

        retrieved_poll_response = PollResponse.objects(**self.poll_response)
        self.assertEqual(1, retrieved_poll_response.count())
        self.assertTrue(retrieved_poll_response[0].is_categorized())
Exemplo n.º 8
0
    def test_should_process_and_categorise_yesno_poll_responses_when_yesno_is_misplaced(self):
        self.poll_attr['ptype'] = 'yesno'
        self.poll_attr['keyword']  = 'akeyword'
        poll = Poll(**self.poll_attr).save()

        self.poll_response['text'] = 'NECOCPoll a very bad yes answer'
        PollResponse(**self.poll_response).save()

        poll_response = PollResponse.objects(**self.poll_response)
        self.assertEqual(1, poll_response.count())

        yes_category = ResponseCategory.objects(**dict(poll=poll, name='yes')).first()

        self.assertEqual(1, PollResponseCategory.objects.count())
        self.assertEqual(1, PollResponseCategory.objects(**dict(response_category=yes_category, poll_response=poll_response.first())).count())
    def test_should_create_yesno_poll_response(self):
        self.poll_attr['ptype'] = 'yesno'
        self.poll_attr['keyword'] = 'weiredkey'
        self.poll_attr[
            'question'] = 'Are there any disasters in your area? YES or NO'
        self.poll = Poll(**self.poll_attr).save()
        self.expected_poll_response['text'] = 'NECOCPoll.yes'
        self.poll_response['text'] = 'NECOCPoll.yes'

        response = self.client.post(self.API_ENDPOINT,
                                    data=self.expected_poll_response)
        self.assertEqual(201, response.status_code)

        retrieved_poll_response = PollResponse.objects(**self.poll_response)
        self.assertEqual(1, retrieved_poll_response.count())
        self.assertTrue(retrieved_poll_response[0].is_categorized())
    def test_should_create_dotted_poll_response(self):
        response = self.client.post(self.API_ENDPOINT, data=self.dotted_response)
        self.assertEqual(201, response.status_code)

        retrieved_poll_response = PollResponse.objects(**self.dotted_message)
        self.assertEqual(1, retrieved_poll_response.count())
    def test_should_process_special_test_response(self):
        response = self.client.post(self.API_ENDPOINT, data=self.special_response_for_rapidtester)
        self.assertEqual(201, response.status_code)

        retrieved_poll_response = PollResponse.objects(**self.special_response)
        self.assertEqual(0, retrieved_poll_response.count())
    def test_should_save_wrong_format_poll_response(self):
        response = self.client.post(self.API_ENDPOINT, data=self.wrong_format_response)
        self.assertEqual(201, response.status_code)

        retrieved_poll_response = PollResponse.objects(**self.wrong_format_message)
        self.assertEqual(1, retrieved_poll_response.count())
    def test_should_assign_response_location_to_mobile_user_location(self):
        response = self.client.post(self.API_ENDPOINT, data=self.expected_poll_response)
        retrieved_poll_response = PollResponse.objects(**self.poll_response)

        self.assertEqual(201, response.status_code)
        self.assertEqual(self.village, retrieved_poll_response[0].location)