コード例 #1
0
    $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());
コード例 #2
0
$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();