private function populateApplicantWithResponse(Applicant $applicant, $params) { $applicant->setId($params['id']); $applicant->setHref($params['href']); $applicant->setCreatedAt($params['created_at']); $applicant->setFirstName($params['first_name']); $applicant->setLastName($params['last_name']); $applicant->setDob($params['dob']); $applicant->setEmail($params['email']); $applicant->setTitle($params['title']); $applicant->setMiddleName($params['middle_name']); $applicant->setGender($params['gender']); $applicant->setTelephone($params['telephone']); $applicant->setMobile($params['mobile']); $applicant->setCountry($params['country']); if (empty($params['addresses']) === false) { foreach ($params['addresses'] as $addressInfo) { $address = new Address(); $address->setFlatNumber($addressInfo['flat_number']); $address->setBuildingNumber($addressInfo['building_number']); $address->setStreet($addressInfo['street']); $address->setSubStreet($addressInfo['sub_street']); $address->setTown($addressInfo['town']); $address->setState($addressInfo['state']); $address->setPostcode($addressInfo['postcode']); $address->setCountry($addressInfo['country']); $address->setStartDate($addressInfo['start_date']); $address->setEndDate($addressInfo['end_date']); $applicant->addAddress($address); } } }
public function testJsonSerialization() { $faker = Factory::create(); $title = 'Mr'; $first_name = $faker->firstName; $last_name = $faker->lastName; $middle_name = $faker->firstName; $email = $faker->email; $gender = 'Male'; $dob = '1441923403'; $telephone = '11234567890'; $mobile = '10987654321'; $country = 'usa'; $building_number = $faker->numberBetween(10, 10000); $street = $faker->streetName; $town = $faker->city; $state = $faker->stateAbbr; $postcode = 12345; $address_start_date = $faker->date('Y-m-d'); $applicant = new Applicant(); $applicant->setTitle($title); $applicant->setFirstName($first_name); $applicant->setMiddleName($middle_name); $applicant->setLastName($last_name); $applicant->setEmail($email); $applicant->setGender($gender); $applicant->setDob($dob); $applicant->setTelephone($telephone); $applicant->setMobile($mobile); $applicant->setCountry($country); $applicant->setIdNumbers(array(array('type' => 'ssn', 'value' => '123-45-6789'))); $address = new Address(); $address->setBuildingNumber($building_number); $address->setStreet($street); $address->setTown($town); $address->setState($state); $address->setPostcode($postcode); $address->setStartDate($address_start_date); $applicant->addAddress($address); $applicant_json = json_encode($applicant); $expected_json = '{ "id": null, "created_at": null, "href": null, "title": "Mr", "first_name": "' . $first_name . '", "middle_name": "' . $middle_name . '", "last_name": "' . $last_name . '", "gender": "Male", "dob": "1441923403", "telephone": "11234567890", "mobile": "10987654321", "country": "usa", "id_numbers":[ { "type": "ssn", "value": "123-45-6789" } ], "addresses":[ { "flat_number": null, "building_name": null, "building_number": ' . $building_number . ', "street": "' . $street . '", "sub_street": null, "state": "' . $state . '", "town": "' . $town . '", "postcode": 12345, "country": null, "start_date": "' . $address_start_date . '", "end_date": null } ] }'; $this->assertJsonStringEqualsJsonString($expected_json, $applicant_json); }