public function testGridBasic() { // create Request mock (ok this is not a mock....) $_SERVER["REQUEST_URI"] = "/foo"; $request = new \Symfony\Component\HttpFoundation\Request(); // create gridManager instance $gridManager = $this->getGridManager(); // create queryBuilder $em = $this->getEntityManager(); $repository = $em->getRepository('Kitpages\\DataGridBundle\\Tests\\TestEntities\\Node'); $queryBuilder = $repository->createQueryBuilder("node"); $queryBuilder->select("node"); $gridConfig = new GridConfig(); $gridConfig->setCountFieldName("node.id"); $gridConfig->addField(new Field("node.createdAt", array("sortable" => true, "formatValueCallback" => function ($value) { return $value->format("Y/m/d"); }))); $gridConfig->addField(new Field("node.content", array("formatValueCallback" => function ($value, $row) { return $value . ":" . $row["node.createdAt"]->format("Y"); }))); // get paginator $gridConfig->setQueryBuilder($queryBuilder); $grid = $gridManager->getGrid($gridConfig, $request); $paginator = $grid->getPaginator(); // tests paginator $this->assertEquals(11, $paginator->getTotalItemCount()); // grid test $itemList = $grid->getItemList(); $this->assertEquals(11, count($itemList)); $this->assertEquals(1, $itemList[0]["node.id"]); // simple callback $this->assertEquals("2010/04/24", $grid->displayGridValue($itemList[0], $gridConfig->getFieldByName("node.createdAt"))); $this->assertEquals("foobar:2010", $grid->displayGridValue($itemList[0], $gridConfig->getFieldByName("node.content"))); }
public function testAddFieldWrongArgumentType() { $arguments = array(true, 1, 2.2, array(), new \stdClass(), null, function () { }); foreach ($arguments as $argument) { try { $this->gridConfig->addField($argument); $this->fail(); } catch (\InvalidArgumentException $e) { $this->assertTrue(true); } } }