ShuntRequestControllerTest.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. namespace Tools\Test\TestCase\Controller;
  3. use Cake\Core\Configure;
  4. use Cake\TestSuite\IntegrationTestTrait;
  5. use RuntimeException;
  6. use Shim\TestSuite\TestCase;
  7. /**
  8. * @uses \Tools\Controller\ShuntRequestController
  9. */
  10. class ShuntRequestControllerTest extends TestCase {
  11. use IntegrationTestTrait;
  12. /**
  13. * @var array
  14. */
  15. protected array $fixtures = [
  16. 'plugin.Tools.Sessions',
  17. ];
  18. /**
  19. * @return void
  20. */
  21. public function setUp(): void {
  22. parent::setUp();
  23. Configure::write('Config.allowedLanguages', []);
  24. Configure::write('Config.defaultLanguage', null);
  25. }
  26. /**
  27. * @return void
  28. */
  29. public function testLanguage() {
  30. $this->disableErrorHandlerMiddleware();
  31. Configure::write('Config.defaultLanguage', 'de');
  32. Configure::write('Config.allowedLanguages', [
  33. 'de' => [
  34. 'locale' => 'de_DE',
  35. 'name' => 'Deutsch',
  36. ],
  37. ]);
  38. $this->post(['plugin' => 'Tools', 'controller' => 'ShuntRequest', 'action' => 'language']);
  39. $this->assertRedirect();
  40. }
  41. /**
  42. * @return void
  43. */
  44. public function testLanguageError() {
  45. $this->disableErrorHandlerMiddleware();
  46. $this->expectException(RuntimeException::class);
  47. $this->post(['plugin' => 'Tools', 'controller' => 'ShuntRequest', 'action' => 'language']);
  48. }
  49. }