/** * Test addExtension and sorting y priority, test getExtensions */ public function testExtension() { $extMock1 = $this->getMockForAbstractClass('Oro\\Bundle\\DataGridBundle\\Extension\\ExtensionVisitorInterface'); $extMock2 = $this->getMockForAbstractClass('Oro\\Bundle\\DataGridBundle\\Extension\\ExtensionVisitorInterface'); $extMock1->expects($this->any())->method('getPriority')->will($this->returnValue(-100)); $extMock2->expects($this->any())->method('getPriority')->will($this->returnValue(250)); $this->acceptor->addExtension($extMock1)->addExtension($extMock2); $results = $this->acceptor->getExtensions(); // test correct adding $this->assertCount(2, $results); // test sorting, LINUX like priority used here $this->assertEquals($extMock2, $results[0]); $this->assertEquals($extMock1, $results[1]); }
function it_throws_an_exception_if_datasource_is_not_an_instance_of_productdatasource($parametersParser, DatagridInterface $grid, Acceptor $acceptor, MassActionExtension $massActionExtension, MassActionInterface $massActionInterface, DatasourceInterface $datasource, ProductMassActionRepositoryInterface $massActionRepository) { $massActionName = 'mass_edit_action'; $request = new Request(['inset' => 'inset', 'values' => 1, 'gridName' => 'grid', 'massAction' => $massActionInterface, 'actionName' => $massActionName]); $parametersParser->parse($request)->willReturn(['inset' => 'inset', 'values' => 1]); $datasource->getMassActionRepository()->willReturn($massActionRepository); $massActionExtension->getMassAction($massActionName, $grid)->willReturn($massActionInterface); $acceptor->getExtensions()->willReturn([$massActionExtension]); $this->shouldThrow(new \LogicException('getRawFilters is only implemented for ProductDatasource'))->during('getRawFilters', [$request]); }