If this orders items total 80 I'm not sure why an adjustment of -25 and gift card of -25 would make the order total 0.  Shouldn't it be 30 due?  I think the order should be reloaded after you call order.update! not before it.