$rt_shop_stock = Doctrine::getTable('rtShopStock')->find($stock['id']); $charge = $stock['price_promotion'] > 0 ? $stock['price_promotion'] : $stock['price_retail']; $message = $stock['rtShopProduct']['title'] . " || PR: " . format_currency($stock['price_retail'], sfConfig::get('app_rt_currency', 'USD')) . " || PP: " . format_currency($rt_shop_stock->getPricePromotion(), sfConfig::get('app_rt_currency', 'USD')) . " || QTY: " . $stock['rtShopOrderToStock'][0]['quantity'] . " || Charge: " . format_currency($charge, sfConfig::get('app_rt_currency', 'USD')); $t->is($charge, $compare_charge[$i], $message); $i++; } $t->comment('*****************************************************************************'); // ItemsCharge $t->is($cm->getItemsCharge(), 140, 'ItemsCharge: ' . format_currency($cm->getItemsCharge(), sfConfig::get('app_rt_currency', 'USD'))); // SubTotal $t->is($cm->getSubTotal(), 140, 'SubTotal: ' . format_currency($cm->getSubTotal(), sfConfig::get('app_rt_currency', 'USD'))); $t->comment('-----------------------------------------------------------------------------'); // Tax $t->is($cm->getTaxCharge(), 14.0, 'Tax: ' . format_currency($cm->getTaxCharge(), 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(), 164.0, 'PreTotal: ' . format_currency($cm->getPreTotalCharge(), sfConfig::get('app_rt_currency', 'USD'))); $t->comment('============================================================================='); // Total $t->is($cm->getTotalCharge(), 164.0, 'Total: ' . format_currency($cm->getTotalCharge(), sfConfig::get('app_rt_currency', 'USD'))); $t->comment('============================================================================='); $t->comment(''); $t->diag('***************************************'); $t->diag('*** Voucher check'); $t->diag('***************************************'); $t->comment(''); $t->comment('--- BasertShopOrderActions::executeCheckVoucher() // dollarOff ----------------------------------------'); $t->diag('*** Case #1.0: Voucher #1: Non-applicable voucher'); $check_voucher_array1 = $cm->getCheckVoucherArray($voucher1->getCode());
$t->is($cm->getSubTotal(), 300, '::getSubTotal() returns the correct value'); $t->is($cm->getPreTotalCharge(), 350, '::getPreTotalCharge() returns the correct value'); $t->is($cm->getTotalCharge(), 350, '::getTotalCharge() returns the correct value'); $t->diag('4.4.4 Tax mode: Inclusive (default shipping) ********************************'); sfConfig::set('app_rt_shop_tax_rate', 10); sfConfig::set('app_rt_shop_tax_mode', 'inclusive'); sfConfig::set('app_rt_shop_shipping_charges', array('default' => 20, 'NZ' => 10)); // 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); // Shipping charge $t->is($cm->getShippingCharge(), 20, '::getShippingCharge() returns the correct value'); // Totals $t->is($cm->getItemsCharge(), 300, '::getItemsCharge() returns the correct value'); $t->is($cm->getSubTotal(), 300, '::getSubTotal() returns the correct value'); $t->is($cm->getPreTotalCharge(), 320, '::getPreTotalCharge() returns the correct value'); $t->is($cm->getTotalCharge(), 320, '::getTotalCharge() returns the correct value'); $t->diag('-----------------------------------------------------------------------------'); $t->diag('4.5 Two products + taxes + shipping + product promotion'); $t->diag('-----------------------------------------------------------------------------'); sfConfig::set('app_rt_shop_tax_rate', 10); sfConfig::set('app_rt_shop_tax_mode', 'exclusive'); sfConfig::set('app_rt_shop_shipping_charges', array('default' => 20, 'NZ' => 10)); $t->diag('4.5.1 Add one product promotion *********************************************'); // Clean order and reset cart manager unset($cm); rtShopOrderTestTools::cleanOrder();