/**
  * @param array $inputData
  * @param array $expectedData
  *
  * @dataProvider finishViewProvider
  */
 public function testFinishView(array $inputData, array $expectedData)
 {
     $view = new FormView();
     $view->vars = $inputData['vars'];
     /* @var $form FormInterface|\PHPUnit_Framework_MockObject_MockObject */
     $form = $this->getMock('Symfony\\Component\\Form\\FormInterface');
     $this->formType->finishView($view, $form, $inputData['options']);
     $this->assertEquals($expectedData, $view->vars);
 }
 /**
  * {@inheritdoc}
  */
 protected function getExtensions()
 {
     /* @var $productUnitLabelFormatter ProductUnitLabelFormatter|\PHPUnit_Framework_MockObject_MockObject */
     $productUnitLabelFormatter = $this->getMockBuilder('OroB2B\\Bundle\\ProductBundle\\Formatter\\ProductUnitLabelFormatter')->disableOriginalConstructor()->getMock();
     $priceType = $this->preparePriceType();
     $entityType = $this->prepareProductEntityType();
     $optionalPriceType = $this->prepareOptionalPriceType();
     $currencySelectionType = new CurrencySelectionTypeStub();
     $requestProductItemType = $this->prepareRequestProductItemType();
     $productUnitSelectionType = $this->prepareProductUnitSelectionType();
     $requestProductType = new BaseRequestProductType($productUnitLabelFormatter);
     $requestProductType->setDataClass('OroB2B\\Bundle\\RFPBundle\\Entity\\RequestProduct');
     return [new PreloadedExtension([CollectionType::NAME => new CollectionType(), RequestProductItemCollectionType::NAME => new RequestProductItemCollectionType(), ProductUnitRemovedSelectionType::NAME => new StubProductUnitRemovedSelectionType(), ProductRemovedSelectType::NAME => new StubProductRemovedSelectType(), $priceType->getName() => $priceType, $entityType->getName() => $entityType, $optionalPriceType->getName() => $optionalPriceType, $requestProductType->getName() => $requestProductType, $requestProductItemType->getName() => $requestProductItemType, $currencySelectionType->getName() => $currencySelectionType, $productUnitSelectionType->getName() => $productUnitSelectionType], []), $this->getValidatorExtension(true)];
 }
 /**
  * @param RequestProduct $inputData
  * @param array $expectedData
  *
  * @dataProvider preSetDataProvider
  */
 public function testPreSetData(RequestProduct $inputData = null, array $expectedData = [])
 {
     $productSku = $inputData ? $inputData->getProductSku() : '';
     $placeholder = $expectedData['configs']['placeholder'];
     $this->translator->expects($placeholder ? $this->once() : $this->never())->method('trans')->with($placeholder, ['{title}' => $productSku])->will($this->returnValue($placeholder));
     $form = $this->factory->create($this->formType);
     $this->formType->preSetData(new FormEvent($form, $inputData));
     $this->assertTrue($form->has('product'));
     $config = $form->get('product')->getConfig();
     $this->assertEquals(ProductSelectType::NAME, $config->getType()->getName());
     $options = $form->get('product')->getConfig()->getOptions();
     foreach ($expectedData as $key => $value) {
         $this->assertEquals($value, $options[$key], $key);
     }
 }
예제 #4
0
 /**
  * {@inheritdoc}
  */
 protected function getExtensions()
 {
     /* @var $translator \PHPUnit_Framework_MockObject_MockObject|TranslatorInterface */
     $translator = $this->getMock('Symfony\\Component\\Translation\\TranslatorInterface');
     $priceType = $this->preparePriceType();
     $entityType = $this->prepareProductEntityType();
     $optionalPriceType = $this->prepareOptionalPriceType();
     $productSelectType = new ProductSelectTypeStub();
     $currencySelectionType = new CurrencySelectionTypeStub();
     $requestProductItemType = $this->prepareRequestProductItemType($translator);
     $productUnitSelectionType = $this->prepareProductUnitSelectionType();
     $requestProductType = new RequestProductType($translator);
     $requestProductType->setDataClass('OroB2B\\Bundle\\RFPBundle\\Entity\\RequestProduct');
     return [new PreloadedExtension([CollectionType::NAME => new CollectionType(), RequestProductCollectionType::NAME => new RequestProductCollectionType(), RequestProductItemCollectionType::NAME => new RequestProductItemCollectionType(), $priceType->getName() => $priceType, $entityType->getName() => $entityType, $optionalPriceType->getName() => $optionalPriceType, $productSelectType->getName() => $productSelectType, $requestProductType->getName() => $requestProductType, $currencySelectionType->getName() => $currencySelectionType, $requestProductItemType->getName() => $requestProductItemType, $productUnitSelectionType->getName() => $productUnitSelectionType], []), $this->getValidatorExtension(true)];
 }