public function testGetSetAddress()
 {
     $expected = (new Address())->setPostcode("1AA 2XX");
     $this->assertNotEmpty($this->instance->getAddress());
     $this->assertTrue($this->instance->setAddress($expected) instanceof Person);
     $this->assertEquals($expected, $this->instance->getAddress());
 }
 protected function createQuestionnaire()
 {
     $person = new Person();
     $person->getAddress()->setPostcode('11AA 2BB');
     $questionnaire = (new Questionnaire($person))->setCompletedDate(new \DateTime());
     return $questionnaire;
 }
 protected function createTestSet()
 {
     $person1 = new Person();
     $person1->setGender('male')->getAddress()->setCounty('AA')->setDistrict('A1')->setPostcode('AAAAA');
     $person2 = new Person();
     $person2->setGender('female')->getAddress()->setCounty($person1->getAddress()->getCounty())->setDistrict('A2')->setPostcode('AAABBB');
     $person3 = new Person();
     $person3->setGender('')->getAddress()->setCounty($person2->getAddress()->getCounty())->setDistrict($person2->getAddress()->getDistrict())->setPostcode('AAAAABB');
     $q1 = (new Questionnaire($person1))->setCompletedDate(new \DateTime())->setHashed(true);
     $q2 = (new Questionnaire($person2))->setCompletedDate(new \DateTime())->setHashed(true);
     $q3 = (new Questionnaire($person3))->setCompletedDate(new \DateTime())->setHashed(true);
     $this->getEntityManager()->persist($q1);
     $this->getEntityManager()->flush($q1);
     $this->getEntityManager()->persist($q2);
     $this->getEntityManager()->flush($q2);
     $this->getEntityManager()->persist($q3);
     $this->getEntityManager()->flush($q3);
 }
 public function testExtractAddress()
 {
     $expectedKeys = array('postCode');
     $person = new Person();
     $export = RespondentHelper::extractAddress($person->getAddress());
     foreach ($expectedKeys as $key) {
         $this->assertArrayHasKey($key, $export);
     }
 }
 protected function mockQuestionnaireService()
 {
     $qs = \Mockery::mock('TransformCore\\PHE\\HayApi\\PersistenceBundle\\Service\\QuestionnaireService')->shouldIgnoreMissing();
     $person = new Person();
     $person->getAddress()->setPostcode('11AA 2BB');
     $questionnaire = new Questionnaire($person);
     $qs->shouldReceive('getQuestionnairesForExpiry')->withAnyArgs()->andReturn(array($questionnaire, $questionnaire, $questionnaire, $questionnaire));
     return $qs;
 }
 /**
  * @param Person       $person
  * @param ParamFetcher $paramFetcher
  * @return Questionnaire
  * @throws \Exception
  */
 public function updatePerson(Person $person, ParamFetcher $paramFetcher)
 {
     $entityManager = $this->getEntityManager();
     $person->setTitle($paramFetcher->get('title'))->setFirstName($paramFetcher->get('firstname'))->setLastName($paramFetcher->get('lastname'))->setEmailAddress($paramFetcher->get('emailaddress'))->setSignedUp($paramFetcher->get("opt_in"))->setAddress($person->getAddress()->setAddressLines($paramFetcher->get('address'))->setPostcode($paramFetcher->get('postcode')));
     $person->setAge(null === $paramFetcher->get('age') ? $person->getAge() : $paramFetcher->get('age'));
     $person->setGender(null === $paramFetcher->get('gender') ? $person->getGender() : $paramFetcher->get('gender'));
     $entityManager->persist($person);
     $entityManager->flush();
     return $this->getQuestionnaireFromPerson($person);
 }
 /**
  * @param Person $person
  * @return Person
  */
 protected function obfuscatePerson(Person $person)
 {
     $person->setFirstName($this->hashValue($person->getFirstName()))->setLastName($this->hashValue($person->getLastName()))->setEmailAddress($this->hashValue($person->getEmailAddress()))->getAddress()->setPostcode($this->hashValue($person->getAddress()->getPostcode()));
     return $person;
 }