public function testCanSave()
 {
     $this->repository->save($this->prepareTestCategory('Test Category'));
     $this->seeInDatabase('categories', ['name' => 'Test Category', 'slug' => 'test-category']);
 }
 /**
  * Salva le modifiche ad una categoria esistente, il cui id è $categoryId.
  *
  * @param SaveCategoryRequest $request
  * @param CategoryRepository $categoryRepository
  * @param $categoryId
  * @return \Illuminate\Http\RedirectResponse
  * @throws NotSavedException
  */
 public function postEdit(SaveCategoryRequest $request, CategoryRepository $categoryRepository, $categoryId)
 {
     try {
         /* @var $category Category */
         $category = $categoryRepository->findById($categoryId);
     } catch (NotFoundException $e) {
         return redirect('admin/categories')->with('error_message', 'La categoria scelta non esiste o non è più disponibile.');
     }
     $category->name = $request->get('name');
     $category->slug = Str::slug($category->name);
     try {
         $categoryRepository->save($category);
     } catch (NotDeletedException $e) {
         return redirect('admin/categories')->with('error_message', 'Impossibile salvare le modifiche per questa categoria. Riprovare.');
     }
     return redirect('admin/categories')->with('success_message', 'Categoria salvata correttamente.');
 }