public function orderAfterSaveLifecycleEvent($event)
 {
     $order = $event->getDataObject();
     $newStatus = $order->getData('status');
     $oldStatus = $order->getOrigData('status');
     if ($newStatus != $oldStatus) {
         $object = new Varien_Object();
         $object->setOldStatus($oldStatus);
         $object->setNewStatus($newStatus);
         $this->_dispatchEvent('lifecycle_event', $object);
     }
 }
 public function testOrderAfterSaveLifecycleEvent()
 {
     $order = $this->mockModel('sales/order', array('getData', 'getOrigData'));
     $order->expects($this->any())->method('getData')->will($this->returnValue('hold'));
     $order->expects($this->any())->method('getOrigData')->will($this->returnValue('new'));
     $expectedValue = new Varien_Object();
     $expectedValue->setOldStatus('new');
     $expectedValue->setNewStatus('hold');
     $observer = $this->mockModel('deg_orderlifecycle/hooks', array('_dispatchEvent'));
     $observer->expects($this->any())->method('_dispatchEvent')->with('lifecycle_event', $expectedValue);
     $observerObject = new Varien_Event_Observer();
     $observerObject->setDataObject($order);
     $observer->orderAfterSaveLifecycleEvent($observerObject);
 }