def application_form_data(self): adaptations_data = { "bsl_webcam": YES, "minicom": YES, "text_relay": YES, "welsh": YES, "is_other_language": YES, "other_language": YES, "is_other_adaptation": YES, "other_adaptation": "other", } form_data = { "full_name": "Applicant Full Name", "extra_notes": "Extra notes", "contact_type": "callback", "callback-time-specific_day": "today", "callback-time-time_today": "1930", } callback_data = {"contact_number": "000000000", "safe_to_contact": YES} address_data = { "post_code": "POSTCODE", "street_address": "21 Jump Street" } form_data.update(flatten_dict("adaptations", adaptations_data)) form_data.update(flatten_dict("callback", callback_data)) form_data.update(flatten_dict("address", address_data)) return form_data
def test_safe_to_contact_when_contact_type_is_thirdparty(self): form_data = self.application_form_data() form_data["contact_type"] = CONTACT_PREFERENCE.THIRDPARTY parent_guardian = THIRDPARTY_RELATIONSHIP[0][0] thirdparty = { "full_name": form_data["full_name"], "contact_number": "00000000000", "relationship": parent_guardian, } form_data.update(flatten_dict("thirdparty", thirdparty)) with override_current_time(self.now): payload = self.form_payload(ContactForm, form_data) self.assertEqual(payload["personal_details"]["safe_to_contact"], "") self.assertEqual( payload["thirdparty_details"]["personal_details"] ["safe_to_contact"], SAFE_TO_CONTACT)
def test_property_form(self): rent_amount = { "per_interval_value": "30", "interval_period": "per_week" } property_one = { "is_main_home": YES, "other_shareholders": NO, "property_value": "100", "mortgage_remaining": "99", "mortgage_payments": "1", "is_rented": YES, "in_dispute": NO, } property_one.update(flatten_dict("rent_amount", rent_amount)) properties = [property_one] # need to convert FieldList to flat fields to load in to form form_data = flatten_list_of_dicts("properties", properties) payload = self.payload(PropertiesPayload, form_data) self.assertEqual(len(payload["property_set"]), 1) self.assertEqual(payload["property_set"][0]["value"], 10000) self.assertEqual(payload["property_set"][0]["mortgage_left"], 9900) self.assertEqual(payload["property_set"][0]["share"], 100) self.assertEqual(payload["property_set"][0]["disputed"], NO) self.assertEqual( payload["property_set"][0]["rent"]["per_interval_value"], 3000) self.assertEqual(payload["property_set"][0]["rent"]["interval_period"], "per_week") self.assertEqual(payload["property_set"][0]["main"], YES)
def merge_money_intervals(self, form_data, form_mi_data): for field_name, money_interval_dict in form_mi_data.items(): form_data.update(flatten_dict(field_name, money_interval_dict)) return form_data