/** * @depends testProperties */ public function testSetProduct() { $product = (new Product())->setSku('rfp-sku'); $requestProduct = new RequestProduct(); $this->assertNull($requestProduct->getProductSku()); $requestProduct->setProduct($product); $this->assertEquals($product->getSku(), $requestProduct->getProductSku()); }
/** * @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); } }