12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- <?php
-
- namespace App\Testing;
-
- use App\Contracts\ExportableReport;
- use Closure;
- use Livewire\Features\SupportTesting\Testable;
-
- /**
- * @mixin Testable
- */
- class TestsReport
- {
- /**
- * Asserts the report table data.
- */
- public function assertReportTableData(): Closure
- {
- return function (): static {
- /** @var ExportableReport $report */
- $report = $this->get('report');
-
- // Assert headers
- $this->assertSeeTextInOrder($report->getHeaders());
-
- // Assert categories, headers, data, and summaries
- $categories = $report->getCategories();
- foreach ($categories as $category) {
- $header = $category->header;
- $data = $category->data;
- $summary = $category->summary;
-
- // Assert header
- $this->assertSeeTextInOrder($header);
-
- // Assert data rows
- foreach ($data as $row) {
- $flatRow = [];
-
- foreach ($row as $value) {
- if (is_array($value)) {
- $flatRow[] = $value['name'];
- } else {
- $flatRow[] = $value;
- }
- }
-
- $this->assertSeeTextInOrder($flatRow);
- }
-
- // Assert summary
- $this->assertSeeTextInOrder($summary);
- }
-
- // Assert overall totals
- $this->assertSeeTextInOrder($report->getOverallTotals());
-
- return $this;
- };
- }
- }
|