/** * @test */ public function deletes() { $resource = Resource::create(['id' => 'xoo-xoo-xoo']); $res = $this->op->create($resource, ROOT_TESTS . '/data/self-lussing-manatee.jpg'); $this->assertSame($res, $resource); $this->assertNotFalse($this->op->find($res->getId())); $this->assertNotFalse($this->filelib->getStorage()->exists($res)); $this->op->delete($res); $this->assertFalse($this->filelib->getStorage()->exists($res)); $this->ed->dispatch(Events::RESOURCE_BEFORE_DELETE, Argument::type('Xi\\Filelib\\Event\\ResourceEvent'))->shouldHaveBeenCalled(); $this->ed->dispatch(Events::RESOURCE_AFTER_DELETE, Argument::type('Xi\\Filelib\\Event\\ResourceEvent'))->shouldHaveBeenCalled(); }
/** * Deletes a file * * @param File $file */ public function delete(File $file) { $event = new FileEvent($file); $this->eventDispatcher->dispatch(Events::FILE_BEFORE_DELETE, $event); $this->backend->deleteFile($file); $file->setStatus(File::STATUS_DELETED); if ($file->getResource()->isExclusive()) { $this->resourceRepository->delete($file->getResource()); } $event = new FileEvent($file); $this->eventDispatcher->dispatch(Events::FILE_AFTER_DELETE, $event); return true; }