/** * Update the specified resource in storage. * * @param BuilderService $builderService * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(BuilderService $builderService, Request $request, $id) { $this->authorize('EDIT_NODETYPES'); $nodeField = NodeField::findOrFail($id); $this->validateEditForm($request); $nodeField->update($request->all()); $builderService->buildForm($nodeField->nodeType); $this->notify('nodefields.edited'); return redirect()->route('reactor.nodefields.edit', $id); }
/** @test */ function it_builds_a_form_for_a_node_type() { $model = $this->prophesize('Nuclear\\Hierarchy\\Contract\\NodeTypeContract'); $model->getName()->willReturn('project')->shouldBeCalled(); $collection = new Collection(); $model->getFields()->willReturn($collection)->shouldBeCalled(); $formBuilder = $this->prophesize('Nuclear\\Hierarchy\\Contract\\Builders\\FormBuilderContract'); $formBuilder->build('project', $collection)->willReturn(null)->shouldBeCalled(); $migrationBuilder = $this->prophesize('Nuclear\\Hierarchy\\Contract\\Builders\\MigrationBuilderContract'); $modelBuilder = $this->prophesize('Nuclear\\Hierarchy\\Contract\\Builders\\ModelBuilderContract'); $service = new BuilderService($modelBuilder->reveal(), $migrationBuilder->reveal(), $formBuilder->reveal()); $service->buildForm($model->reveal()); }