def test_should_create_rapid_pro_message(self):
        self.expected_message['time'] = self.date_time.strftime(RAPID_PRO_TIME_FORMAT)
        response = self.client.post(self.API_ENDPOINT, data=self.expected_message)
        self.assertEqual(201, response.status_code)

        del self.message['received_at']
        retrieved_message = RapidProMessage.objects(**self.message)
        self.assertEqual(1, retrieved_message.count())
    def test_should_update_disaster_field_with_post_is_also_supported_for_phantomjs_sake(self):
        message = RapidProMessage(**self.message).save()

        response = self.client.post(self._api_url(message.id), data=dict(disaster=self.disaster.id))
        self.assertEqual(200, response.status_code)

        retrieved_message = RapidProMessage.objects(**self.message)
        self.assertEqual(1, retrieved_message.count())
        self.assertEqual(self.disaster, retrieved_message[0].disaster)
    def test_should_update_disaster_field_using_a_patch(self):
        message = RapidProMessage(**self.message).save()

        response = self.client.patch(self._api_url(message.id), data=dict(disaster=self.disaster.id))
        self.assertEqual(200, response.status_code)

        retrieved_message = RapidProMessage.objects(**self.message)
        self.assertEqual(1, retrieved_message.count())
        self.assertEqual(self.disaster, retrieved_message[0].disaster)
    def test_save_rapid_pro_message(self):
        self.message['location'] = self.village
        disaster_type = DisasterType(**dict(name="Fire", description="Fire")).save()
        disaster_attributes = dict(name=disaster_type, locations=[self.village],
                                   description="Big Flood", date="2014-12-01 00:00:00", status="Assessment")
        disaster = Disaster(**disaster_attributes).save()
        self.message['disaster'] = disaster

        RapidProMessage(**self.message).save()

        rp_messages = RapidProMessage.objects(**self.message)
        self.assertEqual(1, rp_messages.count())
    def test_get_user_profile_name_if_exists(self):
        self.message['location'] = self.village
        disaster_type = DisasterType(**dict(name="Fire", description="Fire")).save()
        disaster_attributes = dict(name=disaster_type, locations=[self.village],
                                   description="Big Flood", date="2014-12-01 00:00:00", status="Assessment")
        disaster = Disaster(**disaster_attributes).save()
        self.message['disaster'] = disaster

        RapidProMessage(**self.message).save()

        rp_messages = RapidProMessage.objects(**self.message)
        self.assertEqual(self.mobile_user.name, rp_messages[0].source())
    def test_should_update_disaster_field_with_put(self):
        message = RapidProMessage(**self.message).save()

        self.expected_message['time'] = self.date_time.replace(tzinfo=None)
        data = self.expected_message.copy()
        data['disaster'] = self.disaster.id

        response = self.client.put(self._api_url(message.id), data=data)
        self.assertEqual(200, response.status_code)

        retrieved_message = RapidProMessage.objects(**self.message)
        self.assertEqual(1, retrieved_message.count())
        self.assertEqual(self.disaster, retrieved_message[0].disaster)
    def test_default_user_profile_name_if_profile_names_not_enabled(self):
        AdminSetting._set("enable_volunteer_profiles", False)
        self.message['location'] = self.village
        disaster_type = DisasterType(**dict(name="Fire", description="Fire")).save()
        disaster_attributes = dict(name=disaster_type, locations=[self.village],
                                   description="Big Flood", date="2014-12-01 00:00:00", status="Assessment")
        disaster = Disaster(**disaster_attributes).save()
        self.message['disaster'] = disaster

        RapidProMessage(**self.message).save()

        rp_messages = RapidProMessage.objects(**self.message)
        self.assertEqual("NECOC Volunteer", rp_messages[0].source())
示例#8
0
    def test_save_rapid_pro_message(self):
        self.message['location'] = self.village
        disaster_type = DisasterType(
            **dict(name="Fire", description="Fire")).save()
        disaster_attributes = dict(name=disaster_type,
                                   locations=[self.village],
                                   description="Big Flood",
                                   date="2014-12-01 00:00:00",
                                   status="Assessment")
        disaster = Disaster(**disaster_attributes).save()
        self.message['disaster'] = disaster

        RapidProMessage(**self.message).save()

        rp_messages = RapidProMessage.objects(**self.message)
        self.assertEqual(1, rp_messages.count())
示例#9
0
    def test_get_user_profile_name_if_exists(self):
        self.message['location'] = self.village
        disaster_type = DisasterType(
            **dict(name="Fire", description="Fire")).save()
        disaster_attributes = dict(name=disaster_type,
                                   locations=[self.village],
                                   description="Big Flood",
                                   date="2014-12-01 00:00:00",
                                   status="Assessment")
        disaster = Disaster(**disaster_attributes).save()
        self.message['disaster'] = disaster

        RapidProMessage(**self.message).save()

        rp_messages = RapidProMessage.objects(**self.message)
        self.assertEqual(self.mobile_user.name, rp_messages[0].source())
示例#10
0
    def test_default_user_profile_name_if_profile_names_not_enabled(self):
        AdminSetting._set("enable_volunteer_profiles", False)
        self.message['location'] = self.village
        disaster_type = DisasterType(
            **dict(name="Fire", description="Fire")).save()
        disaster_attributes = dict(name=disaster_type,
                                   locations=[self.village],
                                   description="Big Flood",
                                   date="2014-12-01 00:00:00",
                                   status="Assessment")
        disaster = Disaster(**disaster_attributes).save()
        self.message['disaster'] = disaster

        RapidProMessage(**self.message).save()

        rp_messages = RapidProMessage.objects(**self.message)
        self.assertEqual("NECOC Volunteer", rp_messages[0].source())