public function testCreateQuestionnaire() { $this->createQuestionnaire(); $this->assertNotNull($this->result); $this->assertStringStartsWith('FIRST_NAME ', $this->result->getPerson()->getFirstName()); $this->assertNotEmpty($this->result->getId()); }
/** * @param Questionnaire $questionnaire * @return Questionnaire */ public function populateAddressDetailsFromPostCode(Questionnaire $questionnaire) { $address = $questionnaire->getPerson()->getAddress(); if ($this->hasPostCode($address) && $this->loadAuthorityForPostCode($address)) { $questionnaire->getPerson()->setAddress($address); } return $questionnaire; }
public function testGetSetPerson() { $expected = (new Person())->setTitle("Title")->setFirstName("First")->setLastName("Last")->setGender("F")->setAge(75); $this->assertNotEmpty($this->instance->getPerson()); $this->assertNotEquals($expected, $this->instance->getPerson()); $this->assertTrue($this->instance->setPerson($expected) instanceof Questionnaire); $this->assertEquals($expected, $this->instance->getPerson()); }
/** * @param Questionnaire $questionnaire * @param Document $document */ protected function addSignedInCompletedRecords(Questionnaire $questionnaire, Document &$document) { if (true === $questionnaire->isCompleted() && true === $questionnaire->getPerson()->isSignedUp()) { $document->addRecord(new Record($questionnaire, $this->getContainer()->get('translator'))); } $this->updateQuestionnaireAddressAndStatus($questionnaire); }
/** * @inheritDoc */ public static function isSatisfiedBy(Questionnaire $questionnaire) { $maxUnits = DrinkingScore::getDailyMaxUnits($questionnaire->getDrinking()); $gender = $questionnaire->getPerson()->getGender(); switch ($gender) { case Person::GENDER_FEMALE: return $maxUnits > DrinkingScore::DAILY_CUTOFF_UNITS_FEMALE; case Person::GENDER_MALE: return $maxUnits > DrinkingScore::DAILY_CUTOFF_UNITS_MALE; } }
/** * @inheritDoc */ public static function isSatisfiedBy(Questionnaire $questionnaire) { return self::unitsInLowRiskForGender($questionnaire->getPerson(), $questionnaire->getDrinking()); }
public function testSpecificationReturnsTrue() { $questionnaire = new Questionnaire(new Person()); $questionnaire->getPerson()->setGender('female'); $this->assertTrue($this->instance->isSatisfiedBy($questionnaire)); }
/** * @JMS\VirtualProperty * @JMS\SerializedName("preffered_drink_type") * * Which drink type has the most captured in any drinks collection * @return string * @JMS\Groups({"api_response"}) */ public function getPreferredDrinkType() { $drinkType = DrinkingScore::calculatePreferredDrinkType($this); $gender = $this->questionnaire->getPerson()->getGender(); return array('type' => $drinkType, 'count' => (int) DrinkingScore::getDisplayUnits($gender, $drinkType)); }
public function testSubstitutionOfThreeOrMoreMotivations() { $questionnaire = new Questionnaire(new Person()); $questionnaire->getPerson()->setGender('male'); $questionnaire->getMoving()->setCompletedDate(new \DateTime()); $questionnaire->getEating()->setCompletedDate(new \DateTime()); $questionnaire->getDrinking()->setCompletedDate(new \DateTime()); $questionnaire->getSmoking()->setCompletedDate(new \DateTime()); $questionnaire->getAboutYou()->getMotivations()->setAlertness(true)->setAppearance(true)->setWeight(true)->setEnergy(true); $priorityCopy = $this->instance->buildNarrative($questionnaire)->getSubstitutions()['{{PRIORITY_COPY}}']; $this->assertEquals(1, substr_count($priorityCopy, 'and')); $this->assertEquals(1, substr_count($priorityCopy, ', ')); }
/** * @inheritDoc */ public static function isSatisfiedBy(Questionnaire $questionnaire) { return $questionnaire->getPerson()->getGender() === 'male'; }
public function testICanGetAnRedNarrativeAsAMaleDrinker() { $questionnaire = new Questionnaire(new Person()); $questionnaire->getPerson()->setGender('male'); $questionnaire->getAboutYou()->getFeelings()->setEnergy(100)->setWeight(20); $drinks = new Drinks(); $drinks->setBeerCiderPintAmount(80)->setSpiritsAmount(30); $questionnaire->getDrinking()->setDoYouDrink(Drinking::DOES_DRINK)->setWhichDaysDoYouDrink('mon, tues, wed, thurs, fri, sat, sun')->setWeekdayDrinks($drinks)->setWeekendDrinks($drinks)->setCompletedDate(new \DateTime()); $expected = array('drinking' => array('drinking_red_min_weight_gt_5_days_male')); $this->assertEquals($expected, $this->instance->buildNarrative($questionnaire)->getMessages()); }