/** * Test set a invalid experience type. */ public function testSetTypeInvalid() { // GIVEN $experience = new Experience(); // WHEN $experience->setType('unknownExperienceType'); // THEN $this->assertEquals(null, $experience->getType()); }
/** * Create a Experience in the database. * * @param VBeeSiteApplication $app * @param Request $request * * @return Response */ public function createAction(VBeeSiteApplication $app, Request $request) { $person = $this->retrievePerson($request->get('personId')); $experience = new Experience(); $experience->setPerson($person); /** @var FormInterface $form */ $form = $app['form.factory']->create('experience', $experience); $form->handleRequest($request); if ($form->isValid()) { $this->getExperienceManager()->save($experience); return $app->redirect($app->path('admin_person_show', ['personId' => $person->getId()])); } return $app->render('Experience/create.html.twig', ['person' => $person, 'form' => $form->createView()]); }
/** * {@inheritdoc} */ public function hydrate(array $data) { // TODO: make a factory $experience = new Experience(); $experience->setId(isset($data['id']) ? $data['id'] : null); $experience->setType(isset($data['type']) ? $data['type'] : null); $experience->setStartDate(isset($data['startDate']) ? $data['startDate'] : null); $experience->setEndDate(isset($data['endDate']) ? $data['endDate'] : null); if (isset($data['organization'])) { $experience->setOrganization($this->organizationHydrator->hydrate($data['organization'])); } if (isset($data['missions'])) { foreach ($data['missions'] as $missionData) { $experience->addMission($this->missionHydrator->hydrate($missionData)); } } return $experience; }