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