/** * Normalizes families for the select2 * * @param FamilyRepositoryInterface $familyRepository * @param string $familyCodes * @return array */ protected function normalizeFamily(FamilyRepositoryInterface $familyRepository, $familyCodes) { $familyCodes = explode(',', $familyCodes); $result = []; $families = $familyRepository->findBy(['code' => $familyCodes]); foreach ($families as $family) { $familyLabel = $family->getLabel(); $result[] = ['id' => $family->getCode(), 'text' => $familyLabel]; } return $result; }
function it_builds_the_view(FormView $formView, FormInterface $form, FamilyRepositoryInterface $familyRepository, FamilyInterface $familyMugs, FamilyInterface $familyWebcams) { $options['repository'] = $familyRepository; $options['multiple'] = true; $form->getData()->willReturn('mugs,webcams'); $familyRepository->findBy(["code" => ["mugs", "webcams"]])->willReturn([$familyMugs, $familyWebcams]); $familyMugs->getLabel()->willReturn('Mugs'); $familyWebcams->getLabel()->willReturn('Webcams'); $familyMugs->getCode()->willReturn('mugs'); $familyWebcams->getCode()->willReturn('webcams'); $this->buildView($formView, $form, $options); }