Beispiel #1
0
 /**
  * Returns the item price for the specified product.
  *
  * @param InjectableFixture $product
  * @return array|string
  */
 public function getPrice(InjectableFixture $product)
 {
     $productName = $product->getName();
     if ($product instanceof ConfigurableProduct) {
         // Find the price for the specific configurable product that was purchased
         $configurableAttributes = $product->getConfigurableAttributes();
         $productOptions = $product->getCheckoutData()['options']['configurable_options'];
         $checkoutOption = reset($productOptions);
         $attributeKey = $checkoutOption['title'];
         $optionKey = $checkoutOption['value'];
         $attributeValue = $configurableAttributes[$attributeKey]['label']['value'];
         $optionValue = $configurableAttributes[$attributeKey][$optionKey]['option_label']['value'];
         $productDisplay = $productName . ' SKU: ' . $product->getVariationSku($checkoutOption);
         $productDisplay .= ' ' . $attributeValue . ' ' . $optionValue;
     } else {
         $productDisplay = $productName . ' SKU: ' . $product->getSku();
     }
     $selector = '//tr[normalize-space(td)="' . $productDisplay . '"]' . $this->priceSelector;
     return $this->_rootElement->find($selector, Locator::SELECTOR_XPATH)->getText();
 }