public function testArrayAccessExistsForContextData() { $name = 'foo'; $this->context->data()->set($name, 'foo_id', 'val'); $this->context->resolve(); $this->registry->expects($this->once())->method('findDataProvider')->with($name)->will($this->returnValue(null)); $this->assertTrue(isset($this->dataAccessor[$name])); }
public function testConfigureContextOverride() { $request = new Request(); $request->query->set('_wid', 'test_widget_id'); $request->query->set('_widgetContainer', 'dialog'); $this->requestStack->push($request); $context = new LayoutContext(); $context['widget_container'] = 'updated_widget'; $context->data()->set('widget_id', 'updated_id', 'updated_widget_id'); $this->contextConfigurator->configureContext($context); $context->resolve(); $this->assertEquals('updated_widget', $context['widget_container']); $this->assertEquals('updated_id', $context->data()->getIdentifier('widget_id')); $this->assertEquals('updated_widget_id', $context->data()->get('widget_id')); }
/** * @param EmbeddedForm $formEntity * @param FormInterface $form * * @return Layout */ public function getLayout(EmbeddedForm $formEntity, FormInterface $form = null) { $formTypeName = $formEntity->getFormType(); $customLayout = $this->formManager->getCustomFormLayoutByFormType($formTypeName); $layoutContext = new LayoutContext(); $layoutContext->getResolver()->setRequired(['embedded_form_type'])->setOptional(['embedded_form', 'embedded_form_custom_layout']); $layoutContext->set('theme', 'embedded_default'); $layoutContext->set('embedded_form', null === $form ? null : new FormAccessor($form)); $layoutContext->set('embedded_form_type', $formTypeName); $layoutContext->set('embedded_form_custom_layout', $customLayout); $layoutContext->data()->set('embedded_form_entity', '', $formEntity); $layoutBuilder = $this->layoutManager->getLayoutBuilder(); // TODO discuss adding root automatically $layoutBuilder->add('root', null, 'root'); return $layoutBuilder->getLayout($layoutContext); }
public function testGetData() { $this->assertInstanceOf('Oro\\Component\\Layout\\ContextDataCollection', $this->context->data()); }