UndefinedLivewireMethodSolutionProviderTest.php 1.1 KB

12345678910111213141516171819202122232425262728
  1. <?php
  2. namespace Facade\Ignition\Tests\Solutions;
  3. use Facade\Ignition\SolutionProviders\UndefinedLivewireMethodSolutionProvider;
  4. use Facade\Ignition\Tests\stubs\Components\TestLivewireComponent;
  5. use Facade\Ignition\Tests\TestCase;
  6. use Facade\Ignition\Tests\TestClasses\FakeLivewireManager;
  7. use Livewire\Exceptions\MethodNotFoundException;
  8. class UndefinedLivewireMethodSolutionProviderTest extends TestCase
  9. {
  10. /** @test */
  11. public function it_can_solve_an_unknown_livewire_method()
  12. {
  13. FakeLivewireManager::setUp()->addAlias('test-livewire-component', TestLivewireComponent::class);
  14. $exception = new MethodNotFoundException('chnge', 'test-livewire-component');
  15. $canSolve = app(UndefinedLivewireMethodSolutionProvider::class)->canSolve($exception);
  16. [$solution] = app(UndefinedLivewireMethodSolutionProvider::class)->getSolutions($exception);
  17. $this->assertTrue($canSolve);
  18. $this->assertSame('Possible typo `Facade\Ignition\Tests\stubs\Components\TestLivewireComponent::chnge()`', $solution->getSolutionTitle());
  19. $this->assertSame('Did you mean `change()`?', $solution->getSolutionDescription());
  20. }
  21. }