Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

TestsReport.php 1.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. namespace App\Testing;
  3. use App\Contracts\ExportableReport;
  4. use Closure;
  5. use Livewire\Features\SupportTesting\Testable;
  6. /**
  7. * @mixin Testable
  8. */
  9. class TestsReport
  10. {
  11. /**
  12. * Asserts the report table data.
  13. */
  14. public function assertReportTableData(): Closure
  15. {
  16. return function (): static {
  17. /** @var ExportableReport $report */
  18. $report = $this->get('report');
  19. // Assert headers
  20. $this->assertSeeTextInOrder($report->getHeaders());
  21. // Assert categories, headers, data, and summaries
  22. $categories = $report->getCategories();
  23. foreach ($categories as $category) {
  24. $header = $category->header;
  25. $data = $category->data;
  26. $summary = $category->summary;
  27. // Assert header
  28. $this->assertSeeTextInOrder($header);
  29. // Assert data rows
  30. foreach ($data as $row) {
  31. $flatRow = [];
  32. foreach ($row as $value) {
  33. if (is_array($value)) {
  34. $flatRow[] = $value['name'];
  35. } else {
  36. $flatRow[] = $value;
  37. }
  38. }
  39. $this->assertSeeTextInOrder($flatRow);
  40. }
  41. // Assert summary
  42. $this->assertSeeTextInOrder($summary);
  43. }
  44. // Assert overall totals
  45. $this->assertSeeTextInOrder($report->getOverallTotals());
  46. return $this;
  47. };
  48. }
  49. }