createMock(MediaRepositoryInterface::class); $mediaUsageReader = $this->createMock(MediaUsageReaderInterface::class); $file = $this->createMock(UploadedMediaInterface::class); $file->method('getSize')->willReturn(null); $storage = new LocalMediaStorage('/tmp'); $service = new MediaApplicationService($repo, $mediaUsageReader, new StoreMedia($repo, $storage, '/media', 1000), new DeleteMedia($repo, $storage)); $this->expectException(StorageException::class); $service->store($file, 1); } public function testRejectsWhenFileTooLarge(): void { $repo = $this->createMock(MediaRepositoryInterface::class); $mediaUsageReader = $this->createMock(MediaUsageReaderInterface::class); $file = $this->createMock(UploadedMediaInterface::class); $file->method('getSize')->willReturn(999999); $file->method('getTemporaryPath')->willReturn('/tmp/file'); $storage = new LocalMediaStorage('/tmp'); $service = new MediaApplicationService($repo, $mediaUsageReader, new StoreMedia($repo, $storage, '/media', 100), new DeleteMedia($repo, $storage)); $this->expectException(FileTooLargeException::class); $service->store($file, 1); } }