public function testCanDelete() { $this->app->bind(UploadFileWhenAddingMedia::class, function () { return $this->getMockBuilder(UploadFileWhenAddingMedia::class)->disableOriginalConstructor()->getMock(); }); $this->app->bind(RemoveFileWhenDeletingMedia::class, function () { return $this->getMockBuilder(RemoveFileWhenDeletingMedia::class)->disableOriginalConstructor()->getMock(); }); $media = $this->saveTestMedia(); $this->seeInDatabase('media', ['url' => 'test_url_lmao.jpg']); $this->repository->delete($media); $this->dontSeeInDatabase('media', ['url' => 'test_url_lmao.jpg']); }
/** * Cancella un media precedentemente caricato. * * @param MediaRepository $mediaRepository * @param $mediaId * @return \Illuminate\Http\RedirectResponse */ public function getDelete(MediaRepository $mediaRepository, $mediaId) { try { /* @var $media Media */ $media = $mediaRepository->findById($mediaId); } catch (NotFoundException $e) { return redirect('admin/media')->with('error_message', 'Il media selezionato è stato già rimosso.'); } try { $mediaRepository->delete($media); } catch (NotDeletedException $e) { return redirect('admin/media')->with('error_message', 'Problemi in fase di rimozione del media. Riprovare.'); } return redirect('admin/media')->with('success_message', 'Media eliminato correttamente.'); }