How I can determine what "sales rules" is applied after changing set of items in cart without reloading page. Tried something like this, but correct rules applied after reloading page. Magento 1.9.0.1
$cart = Mage::getSingleton('checkout/cart');
$quote = $cart->getQuote();
$quote->removeAllItems();
$quote->addProduct($product, 1);
$quote->collectTotals();
$quote->save();
$cart->save();
$cart->init();
$quote = $cart->getQuote();
$quote->collectTotals();
if($quote->getAppliedRuleIds())
foreach (explode(',',$quote->getAppliedRuleIds()) as $ruleId) {
$rules[] = Mage::getResourceModel('salesrule/rule_collection')->getItemById($ruleId);
}