FlareTest.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. namespace Facade\Ignition\Tests;
  3. use Facade\FlareClient\Flare;
  4. use Facade\Ignition\Tests\Mocks\FakeClient;
  5. use Illuminate\Support\Arr;
  6. use Illuminate\Support\Facades\Artisan;
  7. use Illuminate\Support\Facades\Route;
  8. use Illuminate\Support\Facades\View;
  9. class FlareTest extends TestCase
  10. {
  11. /** @var \Facade\Flare\Tests\Mocks\FakeClient */
  12. protected $fakeClient;
  13. public function setUp(): void
  14. {
  15. parent::setUp();
  16. Artisan::call('view:clear');
  17. $this->app['config']['logging.channels.flare'] = [
  18. 'driver' => 'flare',
  19. ];
  20. $this->app['config']['logging.default'] = 'flare';
  21. $this->app['config']['flare.key'] = 'some-key';
  22. $this->fakeClient = new FakeClient();
  23. $this->app->singleton(Flare::class, function () {
  24. return new Flare($this->fakeClient);
  25. });
  26. $this->useTime('2019-01-01 12:34:56');
  27. View::addLocation(__DIR__.'/stubs/views');
  28. }
  29. /** @test */
  30. public function it_can_manually_report_exceptions()
  31. {
  32. \Flare::report(new \Exception());
  33. $this->fakeClient->assertRequestsSent(1);
  34. }
  35. /** @test */
  36. public function it_can_remove_view_data()
  37. {
  38. Route::get('exception', function () {
  39. return view('blade-exception', ['foo' => 'bar']);
  40. });
  41. $this->get('/exception');
  42. $lastRequest = $this->fakeClient->getLastRequest();
  43. $this->assertNotNull(Arr::get($lastRequest, 'arguments.context.view.data.foo'));
  44. $this->app['config']['flare.reporting.report_view_data'] = false;
  45. Route::get('exception', function () {
  46. return view('blade-exception', ['foo' => 'bar']);
  47. });
  48. $this->get('/exception');
  49. $lastRequest = $this->fakeClient->getLastRequest();
  50. $this->assertNull(Arr::get($lastRequest, 'arguments.context.view.data.foo'));
  51. }
  52. }