registerVersion(type: 'application/vnd.oasis.opendocument.text'); $security = $this->prophesize(Security::class); $security->isGranted('ROLE_USER')->willReturn(true); $storeManager = $this->prophesize(StoredObjectManagerInterface::class); $storeManager->read($storedObject)->willReturn('content'); $wopiConverter = $this->prophesize(WopiConverter::class); $wopiConverter->convert('fr', 'content', 'application/vnd.oasis.opendocument.text') ->willThrow(new \RuntimeException()); $controller = new ConvertController( $security->reveal(), $storeManager->reveal(), $wopiConverter->reveal(), new NullLogger(), ); $request = new Request(); $request->setLocale('fr'); $response = $controller($storedObject, $request); $this->assertNotEquals(200, $response->getStatusCode()); } public function testEverythingWentFine(): void { $storedObject = new StoredObject(); $storedObject->registerVersion(type: 'application/vnd.oasis.opendocument.text'); $security = $this->prophesize(Security::class); $security->isGranted('ROLE_USER')->willReturn(true); $storeManager = $this->prophesize(StoredObjectManagerInterface::class); $storeManager->read($storedObject)->willReturn('content'); $wopiConverter = $this->prophesize(WopiConverter::class); $wopiConverter->convert('fr', 'content', 'application/vnd.oasis.opendocument.text') ->willReturn('1234'); $controller = new ConvertController( $security->reveal(), $storeManager->reveal(), $wopiConverter->reveal(), new NullLogger(), ); $request = new Request(); $request->setLocale('fr'); $response = $controller($storedObject, $request); $this->assertEquals(200, $response->getStatusCode()); $this->assertEquals('1234', $response->getContent()); } }