public function test_create_a_checklist_with_one_step() { $checklistName = 'Test Checklist'; $repository = $this->getRepositoryMock(); $repository->expects($this->once())->method('save')->with($this->callback(function ($checklist) use($checklistName) { $steps = $checklist->getSteps(); return $checklist->getName() == $checklistName && count($steps) == 1; })); $useCase = new CreateChecklist($repository); $command = new CreateChecklistCommand($checklistName, ['First Step']); $useCase->execute($command); }
public function createAction(Request $request) { $checklistData = $request->request->get('checklist'); try { $command = new CreateChecklistCommand($checklistData['name'], $checklistData['steps']); $useCase = new CreateChecklistUseCase($this->repository); $useCase->execute($command); } catch (Exception $e) { $this->container['session']->getFlashBag()->add('error', $e->getMessage()); } return $this->container->redirect($this->container['url_generator']->generate('checklists.list')); }