createMock(Security::class); $security->expects($this->any())->method('getUser')->willReturn(new User()); $security->expects($this->any())->method('isGranted')->willReturn(true); $translator = $this->createMock(TranslatorInterface::class); $translator->method('trans')->willReturnArgument(0); $dispatcher = new EventDispatcher(); $dispatcher->addSubscriber(new MetaFieldColumnSubscriberMock()); $converter = new ColumnConverter($dispatcher, $security); $factory = new XlsxRendererFactory($converter, $dispatcher, $translator); return $factory->createDefault(); } public function testConfigurationFromTemplate(): void { $sut = $this->getAbstractRenderer(); self::assertEquals('xlsx', $sut->getType()); self::assertEquals('xlsx', $sut->getId()); self::assertEquals('xlsx', $sut->getTitle()); self::assertFalse($sut->isInternal()); $sut->setInternal(true); self::assertTrue($sut->isInternal()); } public function testRender(): void { $sut = $this->getAbstractRenderer(); $response = $this->render($sut); self::assertInstanceOf(BinaryFileResponse::class, $response); $file = $response->getFile(); $prefix = date('Ymd'); self::assertEquals('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', $response->headers->get('Content-Type')); self::assertEquals('attachment; filename=' . $prefix . '-Customer_Name-project_name.xlsx', $response->headers->get('Content-Disposition')); self::assertTrue(file_exists($file->getRealPath())); ob_start(); $response->sendContent(); $content2 = ob_get_clean(); self::assertNotEmpty($content2); self::assertFalse(file_exists($file->getRealPath())); } }