createMock(Environment::class), new EventDispatcher(), $this->createMock(ProjectRepository::class) ); $this->assertEquals('html', $sut->getId()); $this->assertEquals('print', $sut->getTitle()); $this->assertEquals('print', $sut->getIcon()); } public function testRender() { $kernel = self::bootKernel(); /** @var Environment $twig */ $twig = $kernel->getContainer()->get('twig'); $stack = $kernel->getContainer()->get('request_stack'); $request = new Request(); $request->setLocale('en'); $stack->push($request); $sut = new HtmlRenderer($twig, new EventDispatcher(), $this->createMock(ProjectRepository::class)); $response = $this->render($sut); $content = $response->getContent(); $this->assertStringContainsString('

', $content); $this->assertStringContainsString('

Summary

', $content); $this->assertEquals(1, substr_count($content, 'id="export-summary"')); $this->assertEquals(1, substr_count($content, 'id="export-records"')); $this->assertEquals(1, substr_count($content, 'id="summary-project"')); $this->assertEquals(1, substr_count($content, 'id="summary-activity"')); $this->assertStringContainsString('Customer Name', $content); $this->assertStringContainsString('project name', $content); $this->assertStringContainsString('01:50 h', $content); $this->assertStringContainsString('€2,437.12', $content); // 5 times in the "full list" and once in the "summary with activities" $this->assertEquals(6, substr_count($content, 'activity description')); $this->assertEquals(1, substr_count($content, 'activity description')); } }