public function testFindOneById() { $tag = $this->dummyData->getTag(); $image = $this->dummyData->getImage(); $sku = 'TST101'; $name = 'Test Product'; $description = 'Test description'; $defaultImage = 'http://lorempixel.com/400/200/'; $unitPrice = 500; $quantity = 10; $shippingWeight = 16; $rating = 500; $originalProduct = new Product(); $originalProduct->setSku($sku); $originalProduct->setName($name); $originalProduct->setDescription($description); $originalProduct->setDefaultImage($defaultImage); $originalProduct->setUnitPrice($unitPrice); $originalProduct->setQuantity($quantity); $originalProduct->setShippingWeight($shippingWeight); $originalProduct->setRating($rating); $originalProduct->setIsInventoryRequired(true); $originalProduct->setIsPriceVisible(true); $originalProduct->setIsActive(true); $originalProduct->setIsVisible(true); $originalProduct->setIsTaxable(true); $originalProduct->setIsShippable(true); $originalProduct->enableAttachments(); $originalProduct->addTag($tag); $originalProduct->addImage($image); $attribute = $this->dummyData->getAttribute(); $attributeValue = $this->dummyData->getAttributeValue($attribute); $productAttribute = $this->dummyData->getProductAttribute($originalProduct, $attribute, $attributeValue); $option = $this->dummyData->getOption(); $optionProduct = $this->dummyData->getOptionProduct($option, $originalProduct); $productQuantityDiscount = $this->dummyData->getProductQuantityDiscount($originalProduct); $this->persistEntityAndFlushClear([$tag, $image, $option, $optionProduct, $attribute, $attributeValue, $originalProduct]); $this->setCountLogger(); $product = $this->productRepository->findOneById($originalProduct->getId()); $this->assertEquals($originalProduct->getId(), $product->getId()); $this->assertSame($sku, $product->getSku()); $this->assertSame($name, $product->getName()); $this->assertSame($description, $product->getDescription()); $this->assertSame($defaultImage, $product->getDefaultImage()); $this->assertSame($unitPrice, $product->getUnitPrice()); $this->assertSame($quantity, $product->getQuantity()); $this->assertSame($shippingWeight, $product->getShippingWeight()); $this->assertSame(5, $product->getRating()); $this->assertTrue($product->isInventoryRequired()); $this->assertTrue($product->isPriceVisible()); $this->assertTrue($product->isActive()); $this->assertTrue($product->isvisible()); $this->assertTrue($product->isTaxable()); $this->assertTrue($product->isShippable()); $this->assertTrue($product->areAttachmentsEnabled()); $this->assertEquals($tag->getId(), $product->getTags()[0]->getId()); $this->assertEquals($image->getId(), $product->getImages()[0]->getId()); $this->assertEquals($productQuantityDiscount->getId(), $product->getProductQuantityDiscounts()[0]->getId()); $this->assertEquals($optionProduct->getId(), $product->getOptionProducts()[0]->getId()); $this->assertEquals($productAttribute->getId(), $product->getProductAttributes()[0]->getId()); $this->assertSame(6, $this->getTotalQueries()); }