/** * @dataProvider orderingActionMapProvider */ public function testProductUpdateOrderingActions($actionClass, $recordClass) { $container = new ServiceContainer(); $generator = $container['generator']; $generator->registerTemplate('TwigActionTemplate', new TwigActionTemplate()); $generator->registerTemplate('UpdateOrderingRecordActionTemplate', new UpdateOrderingRecordActionTemplate()); $runner = new ActionRunner($container); $runner->registerAction('UpdateOrderingRecordActionTemplate', array('namespace' => 'ProductBundle', 'record_class' => $recordClass)); $action = $runner->createAction($actionClass); $this->assertNotNull($action); }
/** * @dataProvider roleProvider */ public function testRunnerWithMultiRoleInterface($roles, $resultType) { $container = new ServiceContainer(); $generator = $container['generator']; $generator->registerTemplate('RecordActionTemplate', new RecordActionTemplate()); $runner = new ActionRunner($container); $runner->registerAutoloader(); $runner->registerAction('RecordActionTemplate', array('namespace' => 'OrderBundle', 'model' => 'Order', 'types' => array(['prefix' => 'Create', 'allowed_roles' => ['user', 'admin']], ['prefix' => 'Update'], ['prefix' => 'Delete']))); $user = new TestUser(); $user->roles = $roles; $runner->setCurrentUser($user); $result = $runner->run('OrderBundle::Action::CreateOrder', ['qty' => '1']); ok($result); is($resultType, $result->type); }
public function testRecordActionTemplate() { $generator = new ActionGenerator(); $generator->registerTemplate('RecordActionTemplate', new RecordActionTemplate()); $runner = new ActionRunner(['generator' => $generator]); $actionArgs = array('namespace' => 'test', 'model' => 'testModel', 'types' => array(['prefix' => 'Create'], ['prefix' => 'Update'], ['prefix' => 'Delete'], ['prefix' => 'BulkDelete'])); $runner->registerAction('RecordActionTemplate', $actionArgs); /* $template = $generator->getTemplate('RecordActionTemplate'); $template->register($runner, 'RecordActionTemplate', $actionArgs); */ $this->assertCount(4, $runner->getPretreatments()); $className = 'test\\Action\\UpdatetestModel'; $this->assertNotNull($pretreatment = $runner->getActionPretreatment($className)); $generatedAction = $generator->generate('RecordActionTemplate', $className, $pretreatment['arguments']); $generatedAction->load(); ok(class_exists($className)); }
public function testRunAndJsonOutput() { $container = new ServiceContainer(); $generator = $container['generator']; $generator->registerTemplate('RecordActionTemplate', new RecordActionTemplate()); $runner = new ActionRunner($container); $runner->registerAutoloader(); $runner->registerAction('RecordActionTemplate', array('namespace' => 'User', 'model' => 'User', 'types' => array(['prefix' => 'Create'], ['prefix' => 'Update'], ['prefix' => 'Delete']))); $result = $runner->run('User::Action::CreateUser', ['email' => 'foo@foo']); $this->assertNotNull($result); $json = $result->__toString(); $this->assertNotNull($json, 'json output'); $data = json_decode($json); $this->assertTrue($data->success); ok($data->data); ok($data->data->id); $results = $runner->getResults(); $this->assertNotEmpty($results); $this->assertNotNull($runner->getResult('User::Action::CreateUser')); $runner->setResult('test', 'test message'); is(true, $runner->hasResult('test')); $runner->removeResult('test'); is(false, $runner->hasResult('test')); }