Example #1
0
 /**
  * @runInSeparateProcess
  */
 public function testMakeSetsUpDataGridContext()
 {
     $request = m::mock('Cartalyst\\DataGrid\\RequestProviders\\ProviderInterface');
     $request->shouldReceive('getSort')->twice();
     $request->shouldReceive('getDirection')->once();
     $request->shouldReceive('getDownload')->once();
     $request->shouldReceive('getFilters')->once()->andReturn(array());
     $request->shouldReceive('getMethod')->once()->andReturn('single');
     $request->shouldReceive('getThreshold')->twice()->andReturn(100);
     $request->shouldReceive('getThrottle')->twice()->andReturn(100);
     $request->shouldReceive('getPage')->once()->andReturn(1);
     $environment = new Environment($request);
     $environment->setDataHandlerMapping('Cartalyst\\DataGrid\\DataHandlers\\CollectionHandler', function ($data) {
         return $data instanceof Collection or is_array($data);
     });
     $dataGridMock = m::mock('Cartalyst\\DataGrid\\DataGrid');
     $dataGrid = $environment->make(array(array('foo' => 'bar')), array('foo'));
     $dataGridMock->shouldReceive('getEnvironment')->andReturn($environment);
     $dataGridMock->shouldReceive('getData')->andReturn(array('total' => 1, 'filtered' => 1, 'throttle' => 100, 'threshold' => 100, 'page' => 1, 'pages' => 1, 'previous_page' => null, 'next_page' => null, 'per_page' => 1, 'sort' => null, 'direction' => null, 'default_column' => null, 'results' => array(array('foo' => 'bar'))));
     $expected = array('Cartalyst\\DataGrid\\DataHandlers\\CollectionHandler' => function ($data) {
         return $data instanceof Collection or is_array($data);
     });
     $this->assertEquals($expected, $environment->getDataHandlerMappings());
     $this->assertEquals($dataGridMock->getData(), $dataGrid->toArray());
 }
Example #2
0
 /**
  * Sets a data handler mapping.
  *
  * @param string $class
  * @param \Closure $handler
  * @return void 
  * @static 
  */
 public static function setDataHandlerMapping($class, $handler)
 {
     \Cartalyst\DataGrid\Environment::setDataHandlerMapping($class, $handler);
 }