public function testReorder()
 {
     $fieldDescription1 = $this->getFieldDescriptionMock('fooName1', 'fooLabel1');
     $fieldDescription2 = $this->getFieldDescriptionMock('fooName2', 'fooLabel2');
     $fieldDescription3 = $this->getFieldDescriptionMock('fooName3', 'fooLabel3');
     $fieldDescription4 = $this->getFieldDescriptionMock('fooName4', 'fooLabel4');
     $this->datagridMapper->add($fieldDescription1, null, array('field_name' => 'fooFilterName1'));
     $this->datagridMapper->add($fieldDescription2, null, array('field_name' => 'fooFilterName2'));
     $this->datagridMapper->add($fieldDescription3, null, array('field_name' => 'fooFilterName3'));
     $this->datagridMapper->add($fieldDescription4, null, array('field_name' => 'fooFilterName4'));
     $this->assertSame(array('fooName1', 'fooName2', 'fooName3', 'fooName4'), array_keys($this->datagrid->getFilters()));
     $this->datagridMapper->reorder(array('fooName3', 'fooName2', 'fooName1', 'fooName4'));
     $this->assertSame(array('fooName3', 'fooName2', 'fooName1', 'fooName4'), array_keys($this->datagrid->getFilters()));
 }
예제 #2
0
 public function testReorderFilters()
 {
     $this->assertSame(array(), $this->datagrid->getFilters());
     $filter1 = $this->getMock('Sonata\\AdminBundle\\Filter\\FilterInterface');
     $filter1->expects($this->once())->method('getName')->will($this->returnValue('foo'));
     $filter2 = $this->getMock('Sonata\\AdminBundle\\Filter\\FilterInterface');
     $filter2->expects($this->once())->method('getName')->will($this->returnValue('bar'));
     $filter3 = $this->getMock('Sonata\\AdminBundle\\Filter\\FilterInterface');
     $filter3->expects($this->once())->method('getName')->will($this->returnValue('baz'));
     $this->datagrid->addFilter($filter1);
     $this->datagrid->addFilter($filter2);
     $this->datagrid->addFilter($filter3);
     $this->assertSame(array('foo' => $filter1, 'bar' => $filter2, 'baz' => $filter3), $this->datagrid->getFilters());
     $this->assertSame(array('foo', 'bar', 'baz'), array_keys($this->datagrid->getFilters()));
     $this->datagrid->reorderFilters(array('bar', 'baz', 'foo'));
     $this->assertSame(array('bar' => $filter2, 'baz' => $filter3, 'foo' => $filter1), $this->datagrid->getFilters());
     $this->assertSame(array('bar', 'baz', 'foo'), array_keys($this->datagrid->getFilters()));
 }