/** * @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); } }
/** * {@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)]; }