export filtered timesheets without additional search form (#5234)
This commit is contained in:
@@ -245,14 +245,6 @@ abstract class ControllerBaseTest extends WebTestCase
|
||||
self::assertEquals(Response::HTTP_NOT_FOUND, $client->getResponse()->getStatusCode());
|
||||
}
|
||||
|
||||
protected function assert404(Response $response, ?string $message = null): void
|
||||
{
|
||||
$message = 'Page not found';
|
||||
self::assertFalse($response->isSuccessful());
|
||||
self::assertEquals(Response::HTTP_NOT_FOUND, $response->getStatusCode());
|
||||
self::assertStringContainsString($message, $response->getContent());
|
||||
}
|
||||
|
||||
protected function assertMainContentClass(HttpKernelBrowser $client, string $classname): void
|
||||
{
|
||||
self::assertStringContainsString('<section id="" class="content ' . $classname . '">', $client->getResponse()->getContent());
|
||||
|
||||
@@ -172,9 +172,7 @@ class ExportControllerTest extends ControllerBaseTest
|
||||
{
|
||||
$client = $this->getClientForAuthenticatedUser(User::ROLE_TEAMLEAD);
|
||||
$this->request($client, '/export/data', 'POST');
|
||||
|
||||
$response = $client->getResponse();
|
||||
$this->assert404($response, 'Missing export renderer');
|
||||
$this->assertRouteNotFound($client);
|
||||
}
|
||||
|
||||
public function testExportActionWithInvalidRenderer(): void
|
||||
@@ -193,8 +191,7 @@ class ExportControllerTest extends ControllerBaseTest
|
||||
'renderer' => 'default'
|
||||
]);
|
||||
|
||||
$response = $client->getResponse();
|
||||
$this->assert404($response, 'Unknown export renderer');
|
||||
$this->assertRouteNotFound($client);
|
||||
}
|
||||
|
||||
public function testExportAction(): void
|
||||
|
||||
@@ -41,8 +41,11 @@ class TimesheetControllerTest extends ControllerBaseTest
|
||||
// there are no records by default in the test database
|
||||
$this->assertHasNoEntriesWithFilter($client);
|
||||
$this->assertPageActions($client, [
|
||||
'download modal-ajax-form' => $this->createUrl('/timesheet/export/'),
|
||||
'create modal-ajax-form' => $this->createUrl('/timesheet/create'),
|
||||
'dropdown-item action-csv toolbar-action' => $this->createUrl('/timesheet/export/csv'),
|
||||
'dropdown-item action-print toolbar-action' => $this->createUrl('/timesheet/export/print'),
|
||||
'dropdown-item action-pdf toolbar-action' => $this->createUrl('/timesheet/export/pdf'),
|
||||
'dropdown-item action-xlsx toolbar-action' => $this->createUrl('/timesheet/export/xlsx'),
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -155,12 +158,14 @@ class TimesheetControllerTest extends ControllerBaseTest
|
||||
$fixture->setStartDate(new \DateTime('-10 days'));
|
||||
$this->importFixture($fixture);
|
||||
|
||||
$this->request($client, '/timesheet/export/');
|
||||
$this->request($client, '/timesheet/');
|
||||
$this->assertTrue($client->getResponse()->isSuccessful());
|
||||
|
||||
$dateRange = $this->formatDateRange(new \DateTime('-10 days'), new \DateTime());
|
||||
|
||||
$client->submitForm('export-btn-print', [
|
||||
$form = $client->getCrawler()->filter('form.searchform')->form();
|
||||
$form->getNode()->setAttribute('action', $this->createUrl('/timesheet/export/print'));
|
||||
$client->submit($form, [
|
||||
'state' => 1,
|
||||
'daterange' => $dateRange,
|
||||
'customers' => [],
|
||||
@@ -177,6 +182,13 @@ class TimesheetControllerTest extends ControllerBaseTest
|
||||
$this->assertEquals(5, \count($result));
|
||||
}
|
||||
|
||||
public function testExporterNotFoundAction(): void
|
||||
{
|
||||
$client = $this->getClientForAuthenticatedUser(User::ROLE_ADMIN);
|
||||
$this->request($client, '/timesheet/export/notfound');
|
||||
$this->assertRouteNotFound($client);
|
||||
}
|
||||
|
||||
public function testCreateAction(): void
|
||||
{
|
||||
$client = $this->getClientForAuthenticatedUser();
|
||||
|
||||
@@ -43,9 +43,12 @@ class TimesheetTeamControllerTest extends ControllerBaseTest
|
||||
$this->assertHasNoEntriesWithFilter($client);
|
||||
|
||||
$this->assertPageActions($client, [
|
||||
'download modal-ajax-form' => $this->createUrl('/team/timesheet/export/'),
|
||||
'create create-ts modal-ajax-form' => $this->createUrl('/team/timesheet/create'),
|
||||
'multi-user create-ts-mu modal-ajax-form' => $this->createUrl('/team/timesheet/create_mu'),
|
||||
'dropdown-item action-csv toolbar-action' => $this->createUrl('/team/timesheet/export/csv'),
|
||||
'dropdown-item action-print toolbar-action' => $this->createUrl('/team/timesheet/export/print'),
|
||||
'dropdown-item action-pdf toolbar-action' => $this->createUrl('/team/timesheet/export/pdf'),
|
||||
'dropdown-item action-xlsx toolbar-action' => $this->createUrl('/team/timesheet/export/xlsx'),
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -136,12 +139,14 @@ class TimesheetTeamControllerTest extends ControllerBaseTest
|
||||
$fixture->setStartDate(new \DateTime('-10 days'));
|
||||
$this->importFixture($fixture);
|
||||
|
||||
$this->request($client, '/team/timesheet/export/');
|
||||
$this->request($client, '/team/timesheet/');
|
||||
$this->assertTrue($client->getResponse()->isSuccessful());
|
||||
|
||||
$dateRange = $this->formatDateRange(new \DateTime('-10 days'), new \DateTime());
|
||||
|
||||
$client->submitForm('export-btn-print', [
|
||||
$form = $client->getCrawler()->filter('form.searchform')->form();
|
||||
$form->getNode()->setAttribute('action', $this->createUrl('/team/timesheet/export/print'));
|
||||
$client->submit($form, [
|
||||
'state' => 1,
|
||||
'daterange' => $dateRange,
|
||||
'customers' => [],
|
||||
@@ -158,6 +163,13 @@ class TimesheetTeamControllerTest extends ControllerBaseTest
|
||||
$this->assertEquals(10, \count($result));
|
||||
}
|
||||
|
||||
public function testExporterNotFoundAction(): void
|
||||
{
|
||||
$client = $this->getClientForAuthenticatedUser(User::ROLE_ADMIN);
|
||||
$this->request($client, '/team/timesheet/export/notfound');
|
||||
$this->assertRouteNotFound($client);
|
||||
}
|
||||
|
||||
public function testCreateAction(): void
|
||||
{
|
||||
$client = $this->getClientForAuthenticatedUser(User::ROLE_ADMIN);
|
||||
|
||||
@@ -27,7 +27,6 @@ class CsvRendererTest extends AbstractRendererTest
|
||||
|
||||
$this->assertEquals('csv', $sut->getId());
|
||||
$this->assertEquals('csv', $sut->getTitle());
|
||||
$this->assertEquals('csv', $sut->getIcon());
|
||||
}
|
||||
|
||||
public function getTestModel()
|
||||
|
||||
@@ -40,7 +40,6 @@ class HtmlRendererTest extends AbstractRendererTest
|
||||
|
||||
$this->assertEquals('html', $sut->getId());
|
||||
$this->assertEquals('print', $sut->getTitle());
|
||||
$this->assertEquals('print', $sut->getIcon());
|
||||
}
|
||||
|
||||
public function testRender(): void
|
||||
|
||||
@@ -36,7 +36,6 @@ class PdfRendererTest extends AbstractRendererTest
|
||||
|
||||
$this->assertEquals('pdf', $sut->getId());
|
||||
$this->assertEquals('pdf', $sut->getTitle());
|
||||
$this->assertEquals('pdf', $sut->getIcon());
|
||||
$this->assertEquals([], $sut->getPdfOptions());
|
||||
|
||||
$sut->setPdfOption('foo', 'bar');
|
||||
|
||||
@@ -27,7 +27,6 @@ class XlsxRendererTest extends AbstractRendererTest
|
||||
|
||||
$this->assertEquals('xlsx', $sut->getId());
|
||||
$this->assertEquals('xlsx', $sut->getTitle());
|
||||
$this->assertEquals('xlsx', $sut->getIcon());
|
||||
}
|
||||
|
||||
public function testRender(): void
|
||||
|
||||
@@ -26,6 +26,7 @@ class CsvRendererTest extends AbstractRendererTest
|
||||
$sut = $this->getAbstractRenderer(CsvRenderer::class);
|
||||
|
||||
$this->assertEquals('csv', $sut->getId());
|
||||
$this->assertEquals('csv', $sut->getTitle());
|
||||
}
|
||||
|
||||
public function getTestModel()
|
||||
|
||||
@@ -33,6 +33,7 @@ class HtmlRendererTest extends AbstractRendererTest
|
||||
);
|
||||
|
||||
$this->assertEquals('print', $sut->getId());
|
||||
$this->assertEquals('print', $sut->getTitle());
|
||||
}
|
||||
|
||||
public function testRender(): void
|
||||
|
||||
@@ -35,6 +35,7 @@ class PdfRendererTest extends AbstractRendererTest
|
||||
);
|
||||
|
||||
$this->assertEquals('pdf', $sut->getId());
|
||||
$this->assertEquals('pdf', $sut->getTitle());
|
||||
}
|
||||
|
||||
public function testRender(): void
|
||||
|
||||
@@ -26,6 +26,7 @@ class XlsxRendererTest extends AbstractRendererTest
|
||||
$sut = $this->getAbstractRenderer(XlsxRenderer::class);
|
||||
|
||||
$this->assertEquals('xlsx', $sut->getId());
|
||||
$this->assertEquals('xlsx', $sut->getTitle());
|
||||
}
|
||||
|
||||
public function testRender(): void
|
||||
|
||||
@@ -676,7 +676,7 @@ parameters:
|
||||
|
||||
-
|
||||
message: "#^Parameter \\#2 \\$haystack of static method PHPUnit\\\\Framework\\\\Assert\\:\\:assertStringContainsString\\(\\) expects string, string\\|false given\\.$#"
|
||||
count: 10
|
||||
count: 9
|
||||
path: Controller/ControllerBaseTest.php
|
||||
|
||||
-
|
||||
@@ -1434,16 +1434,6 @@ parameters:
|
||||
count: 1
|
||||
path: Export/Renderer/AbstractRendererTest.php
|
||||
|
||||
-
|
||||
message: "#^Call to an undefined method App\\\\Export\\\\ExportRendererInterface\\|App\\\\Export\\\\TimesheetExportInterface\\:\\:getIcon\\(\\)\\.$#"
|
||||
count: 1
|
||||
path: Export/Renderer/CsvRendererTest.php
|
||||
|
||||
-
|
||||
message: "#^Call to an undefined method App\\\\Export\\\\ExportRendererInterface\\|App\\\\Export\\\\TimesheetExportInterface\\:\\:getTitle\\(\\)\\.$#"
|
||||
count: 1
|
||||
path: Export/Renderer/CsvRendererTest.php
|
||||
|
||||
-
|
||||
message: "#^Method App\\\\Tests\\\\Export\\\\Renderer\\\\CsvRendererTest\\:\\:getTestModel\\(\\) has no return type specified\\.$#"
|
||||
count: 1
|
||||
@@ -1524,16 +1514,6 @@ parameters:
|
||||
count: 7
|
||||
path: Export/Renderer/HtmlRendererTest.php
|
||||
|
||||
-
|
||||
message: "#^Call to an undefined method App\\\\Export\\\\ExportRendererInterface\\|App\\\\Export\\\\TimesheetExportInterface\\:\\:getIcon\\(\\)\\.$#"
|
||||
count: 1
|
||||
path: Export/Renderer/XlsxRendererTest.php
|
||||
|
||||
-
|
||||
message: "#^Call to an undefined method App\\\\Export\\\\ExportRendererInterface\\|App\\\\Export\\\\TimesheetExportInterface\\:\\:getTitle\\(\\)\\.$#"
|
||||
count: 1
|
||||
path: Export/Renderer/XlsxRendererTest.php
|
||||
|
||||
-
|
||||
message: "#^Parameter \\#1 \\$renderer of method App\\\\Tests\\\\Export\\\\Renderer\\\\AbstractRendererTest\\:\\:render\\(\\) expects App\\\\Export\\\\ExportRendererInterface, App\\\\Export\\\\ExportRendererInterface\\|App\\\\Export\\\\TimesheetExportInterface given\\.$#"
|
||||
count: 1
|
||||
|
||||
Reference in New Issue
Block a user