ErrorPageViewModelTest.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. namespace Facade\Ignition\Tests;
  3. use Facade\FlareClient\Flare;
  4. use Facade\FlareClient\Report;
  5. use Facade\Ignition\ErrorPage\ErrorPageViewModel;
  6. use Facade\Ignition\IgnitionConfig;
  7. class ErrorPageViewModelTest extends TestCase
  8. {
  9. /** @test */
  10. public function it_can_encode_invalid_user_data()
  11. {
  12. $flareClient = $this->app->make(Flare::class);
  13. $exception = new \Exception('Test Exception');
  14. /** @var Report $report */
  15. $report = $flareClient->createReport($exception);
  16. $report->group('bad-utf8', [
  17. 'name' => 'Marcel'.utf8_decode('ø'),
  18. ]);
  19. $model = new ErrorPageViewModel($exception, new IgnitionConfig([]), $report, []);
  20. $this->assertNotEmpty($model->jsonEncode($report->toArray()));
  21. }
  22. /** @test */
  23. public function it_disables_share_report_when_share_report_controller_action_is_not_defined()
  24. {
  25. $flareClient = $this->app->make(Flare::class);
  26. $exception = new \Exception('Test Exception');
  27. /** @var Report $report */
  28. $report = $flareClient->createReport($exception);
  29. $model = new ErrorPageViewModel($exception, new IgnitionConfig([]), $report, []);
  30. $result = $model->toArray();
  31. $this->assertEquals('', $result['shareEndpoint']);
  32. }
  33. }