$cp1 = Doctrine::getTable('rtShopPromotionCart')->find($cartpromo1); $cp2 = Doctrine::getTable('rtShopPromotionCart')->find($cartpromo2); $cp3 = Doctrine::getTable('rtShopPromotionCart')->find($cartpromo3); $t->isa_ok($cp1, 'rtShopPromotionCart', '::find() created and retrieved rtShopPromotionCart item'); $t->isa_ok($cp2, 'rtShopPromotionCart', '::find() created and retrieved rtShopPromotionCart item'); $t->isa_ok($cp3, 'rtShopPromotionCart', '::find() created and retrieved rtShopPromotionCart item'); // Clean order and reset cart manager unset($cm); rtShopOrderTestTools::cleanOrder(); $cm = new rtShopCartManager(); // Add stocks to cart manager $cm->addToCart($stock1, 1); $cm->addToCart($stock2, 1); // Promotions $t->is($cm->getPromotion()->getId(), 4, '::getPromotion()->getId() returns the correct best cart promotion object'); $t->is($cm->getPromotionReduction(), 28, '::getPromotionReduction() returns the correct best cart promotion reduction'); // Totals $t->is($cm->getItemsCharge(), 280, '::getItemsCharge() returns the correct value'); $t->is($cm->getSubTotal(), 280, '::getSubTotal() returns the correct value'); $t->is($cm->getPreTotalCharge(), 300, '::getPreTotalCharge() returns the correct value'); $t->is($cm->getTotalCharge(), 300, '::getTotalCharge() returns the correct value'); $t->diag('-----------------------------------------------------------------------------'); $t->diag('4.7 Order + taxes + shipping + product promotion + cart promotion + voucher'); $t->diag('-----------------------------------------------------------------------------'); // Add voucher $voucher1 = $tools->createVoucher('Test Voucher $10 - 150 to 250', 10, 'dollarOff', 150, 250); // Valid voucher $voucher2 = $tools->createVoucher('Test Voucher $20 - 250 to 400', 10, 'dollarOff', 250, 400); // Valid voucher $voucher3 = $tools->createVoucher('Test Voucher $30 - 400 to 500', 20, 'dollarOff', 400, 500); // Valid voucher
} else { $message .= " || Reduction: \$" . $prod_promo->getReductionValue(); } $message .= sprintf(" || Stackable: %s", $prod_promo->getStackable() ? 'Yes' : 'No'); } $t->is($charge, $compare_charge[$i], $message); $i++; } $t->comment('*****************************************************************************'); // ItemsCharge $t->is($cm->getItemsCharge(), 470, 'ItemsCharge: ' . format_currency($cm->getItemsCharge(), sfConfig::get('app_rt_currency', 'USD'))); // SubTotal $t->is($cm->getSubTotal(), 470, 'SubTotal: ' . format_currency($cm->getSubTotal(), sfConfig::get('app_rt_currency', 'USD'))); $t->comment('-----------------------------------------------------------------------------'); // Promotion $t->is($cm->getPromotionReduction(), 47.0, 'Promotion: -' . format_currency($cm->getPromotionReduction(), sfConfig::get('app_rt_currency', 'USD'))); // Shipping $t->is($cm->getShippingCharge(), 10, 'Shipping: ' . format_currency($cm->getShippingCharge(), sfConfig::get('app_rt_currency', 'USD'))); $t->comment('-----------------------------------------------------------------------------'); // Pre total $t->is($cm->getPreTotalCharge(), 433.0, 'PreTotal: ' . format_currency($cm->getPreTotalCharge(), sfConfig::get('app_rt_currency', 'USD'))); $t->comment('-----------------------------------------------------------------------------'); // Voucher $cm->setVoucherCode($voucher1->getCode()); $t->is($cm->getVoucherReduction(), 10, 'Voucher: -' . format_currency($cm->getVoucherReduction(), sfConfig::get('app_rt_currency', 'USD')) . ' (#' . $cm->getVoucherCode() . ')'); $t->comment('============================================================================='); // Total $t->is($cm->getTotalCharge(), 423.0, 'Total (includes $' . format_currency($cm->getTaxComponent(), sfConfig::get('app_rt_currency', 'USD')) . ' tax): ' . format_currency($cm->getTotalCharge(), sfConfig::get('app_rt_currency', 'USD'))); $t->comment('============================================================================='); /** * rtShopComplexOrder1TestTools Class