FilterTest.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  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\Filter\ORM;
  11. use Sonata\AdminBundle\Filter\ORM\Filter;
  12. class FilterTest_Filter extends Filter
  13. {
  14. /**
  15. * Apply the filter to the QueryBuilder instance
  16. *
  17. * @param $queryBuilder
  18. * @param string $alias
  19. * @param string $field
  20. * @param string $value
  21. * @return void
  22. */
  23. function filter($queryBuilder, $alias, $field, $value)
  24. {
  25. // TODO: Implement filter() method.
  26. }
  27. function getDefaultOptions()
  28. {
  29. return array('option1' => 2);
  30. }
  31. }
  32. class FilterTest extends \PHPUnit_Framework_TestCase
  33. {
  34. public function testFieldDescription()
  35. {
  36. $filter = new FilterTest_Filter();
  37. $this->assertEquals(array('option1' => 2), $filter->getDefaultOptions());
  38. $this->assertEquals(null, $filter->getOption('1'));
  39. $filter->initialize('field_name', array('field_options' => array('class' => 'FooBar')));
  40. $this->assertEquals(2, $filter->getOption('option1'));
  41. $this->assertEquals(null, $filter->getOption('foo'));
  42. $this->assertEquals('bar', $filter->getOption('foo', 'bar'));
  43. $this->assertEquals('field_name', $filter->getName());
  44. $this->assertEquals('text', $filter->getFieldType());
  45. $this->assertEquals(array('class' => 'FooBar'), $filter->getFieldOptions());
  46. }
  47. public function testValues()
  48. {
  49. $filter = new FilterTest_Filter();
  50. $this->assertEmpty($filter->getValue());
  51. $filter->setValue(42);
  52. $this->assertEquals(42, $filter->getValue());
  53. }
  54. /**
  55. * @expectedException RuntimeException
  56. */
  57. public function testExceptionOnEmptyFieldName()
  58. {
  59. $filter = new FilterTest_Filter();
  60. $filter->getFieldName();
  61. }
  62. }