RenderingMailWithLocaleTest.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. namespace Illuminate\Tests\Integration\Mail;
  3. use Illuminate\Mail\Mailable;
  4. use Illuminate\Support\Facades\View;
  5. use Orchestra\Testbench\TestCase;
  6. class RenderingMailWithLocaleTest extends TestCase
  7. {
  8. protected function getEnvironmentSetUp($app)
  9. {
  10. $app['config']->set('app.locale', 'en');
  11. View::addLocation(__DIR__.'/Fixtures');
  12. app('translator')->setLoaded([
  13. '*' => [
  14. '*' => [
  15. 'en' => ['nom' => 'name'],
  16. 'es' => ['nom' => 'nombre'],
  17. ],
  18. ],
  19. ]);
  20. }
  21. public function testMailableRendersInDefaultLocale()
  22. {
  23. $mail = new RenderedTestMail;
  24. $this->assertStringContainsString('name', $mail->render());
  25. }
  26. public function testMailableRendersInSelectedLocale()
  27. {
  28. $mail = (new RenderedTestMail)->locale('es');
  29. $this->assertStringContainsString('nombre', $mail->render());
  30. }
  31. public function testMailableRendersInAppSelectedLocale()
  32. {
  33. $this->app->setLocale('es');
  34. $mail = new RenderedTestMail;
  35. $this->assertStringContainsString('nombre', $mail->render());
  36. }
  37. }
  38. class RenderedTestMail extends Mailable
  39. {
  40. public function build()
  41. {
  42. return $this->view('view');
  43. }
  44. }