public function testUpdateOrderingRecordActionTemplate()
 {
     $actionTemplate = new UpdateOrderingRecordActionTemplate();
     $runner = new ActionRunner();
     $actionTemplate->register($runner, 'UpdateOrderingRecordActionTemplate', array('namespace' => 'OrderingTest', 'model' => 'Test2Model'));
     $className = 'OrderingTest\\Action\\UpdateTest2ModelOrdering';
     $this->assertCount(1, $runner->getPretreatments());
     $this->assertNotNull($pretreatment = $runner->getActionPretreatment($className));
     $generatedAction = $actionTemplate->generate($className, $pretreatment);
     $this->assertRequireGeneratedAction($className, $generatedAction);
 }
 public function testUpdateOrdering()
 {
     $idList = array();
     foreach (range(1, 20) as $num) {
         $product = $this->createProduct("Book {$num}");
         ok($product);
         $idList[] = ['record' => $product->id, 'ordering' => 21 - $num];
     }
     $products = new ProductCollection();
     $this->assertEquals(20, $products->count());
     $actionTemplate = new UpdateOrderingRecordActionTemplate();
     $runner = new ActionKit\ActionRunner();
     $actionTemplate->register($runner, 'UpdateOrderingRecordActionTemplate', array('namespace' => 'ProductBundle', 'model' => 'Product'));
     $className = 'ProductBundle\\Action\\UpdateProductOrdering';
     $this->assertNotNull($pretreatment = $runner->getActionPretreatment($className));
     $generatedAction = $actionTemplate->generate($className, $pretreatment['arguments']);
     $this->assertNotNull($generatedAction);
     $tmp = $generatedAction->load();
     $updateOrdering = new $className(array('list' => json_encode($idList)));
     is($updateOrdering->getName(), 'UpdateProductOrdering');
     ok($updateOrdering->run());
     $result = $updateOrdering->loadRecord(9);
     is($result->ordering, 21 - 9);
     $updateOrdering->mode = 99;
     is(false, $updateOrdering->run());
 }