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 MetaFieldColumnSubscriber()); return new XlsxRenderer(new SpreadsheetRenderer($dispatcher, $security), $translator); } public function testConfiguration(): void { $sut = $this->getAbstractRenderer(); self::assertEquals('xlsx', $sut->getId()); self::assertEquals('xlsx', $sut->getTitle()); } public function testRender(): void { $sut = $this->getAbstractRenderer(); /** @var BinaryFileResponse $response */ $response = $this->render($sut); $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())); } }