ConfigurationTest.php 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <?php
  2. /*
  3. * This file is part of the Sonata package.
  4. *
  5. * (c) Thomas Rabaix <thomas.rabaix@sonata-project.org>
  6. *
  7. * For the full copyright and license information, please view the LICENSE
  8. * file that was distributed with this source code.
  9. */
  10. namespace Sonata\AdminBundle\Tests;
  11. use Sonata\AdminBundle\DependencyInjection\Configuration;
  12. use Symfony\Component\Config\Definition\Processor;
  13. class ConfigurationTest extends \PHPUnit_Framework_TestCase
  14. {
  15. public function testOptions()
  16. {
  17. $processor = new Processor();
  18. $config = $processor->processConfiguration(new Configuration(), array());
  19. $this->assertTrue($config['options']['html5_validate']);
  20. $this->assertNull($config['options']['pager_links']);
  21. $this->assertTrue($config['options']['confirm_exit']);
  22. $this->assertTrue($config['options']['use_icheck']);
  23. }
  24. public function testOptionsWithInvalidFormat()
  25. {
  26. $this->setExpectedException('Symfony\Component\Config\Definition\Exception\InvalidTypeException');
  27. $processor = new Processor();
  28. $config = $processor->processConfiguration(new Configuration(), array(array(
  29. 'options' => array(
  30. 'html5_validate' => '1'
  31. )
  32. )));
  33. }
  34. public function testCustomTemplatesPerAdmin()
  35. {
  36. $processor = new Processor();
  37. $config = $processor->processConfiguration(new Configuration(), array(array(
  38. 'admin_services' => array(
  39. 'my_admin_id' => array(
  40. 'templates' => array('user_block' => 'SonataAdminBundle:mycustomtemplate.html.twig')
  41. )
  42. )
  43. )));
  44. $this->assertEquals('SonataAdminBundle:mycustomtemplate.html.twig', $config['admin_services']['my_admin_id']['templates']['user_block']);
  45. }
  46. public function testAdminServicesDefault()
  47. {
  48. $processor = new Processor();
  49. $config = $processor->processConfiguration(new Configuration(), array(array(
  50. 'admin_services' => array('my_admin_id' => array())
  51. )));
  52. $this->assertEquals(array(
  53. 'model_manager' => null,
  54. 'form_contractor' => null,
  55. 'show_builder' => null,
  56. 'list_builder' => null,
  57. 'datagrid_builder' => null,
  58. 'translator' => null,
  59. 'configuration_pool' => null,
  60. 'validator' => null,
  61. 'security_handler' => null,
  62. 'label' => null,
  63. 'templates' => array(),
  64. 'route_generator' => null,
  65. 'menu_factory' => null,
  66. 'route_builder' => null,
  67. 'label_translator_strategy' => null
  68. ), $config['admin_services']['my_admin_id']);
  69. }
  70. }