* * Do not edit or add to this file if you wish to upgrade Magento to newer * versions in the future. If you wish to customize Magento for your * needs please refer to http://www.magentocommerce.com for more information. * * @category Magento * @package Mage_Sales * @subpackage integration_tests * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com) * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) */ $addressData = array('region' => 'CA', 'postcode' => '11111', 'street' => 'street', 'city' => 'Los Angeles', 'telephone' => '11111111', 'country_id' => 'US'); $billingAddress = new Mage_Sales_Model_Order_Address($addressData); $shippingAddress = clone $billingAddress; $item = new Mage_Sales_Model_Order_Item(); $item->setOriginalPrice(100)->setPrice(100)->setQtyOrdered(1)->setRowTotal(100)->setSubtotal(100); $payment = new Mage_Sales_Model_Order_Payment(); $payment->setMethod('checkmo'); $order = new Mage_Sales_Model_Order(); $order->setBaseSubtotal(100)->setSubtotal(100)->setBaseGrandTotal(100)->setGrandTotal(100)->setTotalPaid(100)->setCustomerIsGuest(true)->setState(Mage_Sales_Model_Order::STATE_NEW, true)->setStoreId(Mage::app()->getStore()->getId()); for ($i = 1; $i <= 100000; $i++) { $billingAddress->setId(null)->setFirstname("Name {$i}")->setLastname("Lastname {$i}")->setEmail("customer{$i}@example.com"); $shippingAddress->setId(null)->setFirstname("Name {$i}")->setLastname("Lastname {$i}")->setEmail("customer{$i}@example.com"); $item->setId(null)->setSku("item{$i}"); $payment->setId(null); $order->setId(null); $order->getItemsCollection()->removeAllItems(); $order->getAddressesCollection()->removeAllItems(); $order->getPaymentsCollection()->removeAllItems(); $order->setIncrementId((string) (10000000 + $i))->setCreatedAt(date('Y-m-d H:i:s'))->setCustomerEmail("customer{$i}@example.com")->setBillingAddress($billingAddress)->setShippingAddress($shippingAddress)->addItem($item)->setPayment($payment); $order->save();
/** * Set correct item prices ((original price / new qty) * old qty) * * @param Mage_Sales_Model_Order_Item $orderItem * @param int $oldQty * @param int $newQty * @return Mage_Sales_Model_Order_Item */ protected function _correctPrices($orderItem, $oldQty, $newQty) { $orderItem->setPrice($orderItem->getPrice() / $newQty * $oldQty); $orderItem->setBasePrice($orderItem->getBasePrice() / $newQty * $oldQty); $orderItem->setOriginalPrice($orderItem->getOriginalPrice() / $newQty * $oldQty); $orderItem->setBaseOriginalPrice($orderItem->getBaseOriginalPrice() / $newQty * $oldQty); $orderItem->setPriceInclTax($orderItem->getPriceInclTax() / $newQty * $oldQty); $orderItem->setBasePriceInclTax($orderItem->getBasePriceInclTax() / $newQty * $oldQty); return $orderItem; }