public function testAppendReceiverEmail() { $request = new Dhl_Intraship_Model_Soap_Client_Shipment_Create(); $parcel = new Varien_Object(); $shipment = new Varien_Object(); $billingAddress = new Varien_Object(); $billingAddress->setPackageNotification(true); $shipment->setBillingAddress($billingAddress); $parcel->setShipment($shipment); $receiver = new Varien_Object(); $receiver->setEmail('*****@*****.**'); $shipmentOrder = array('Shipment' => array('Receiver' => array('Communication' => array('email' => null)))); $params = new Dhl_Intraship_Model_Soap_Client_Shipment_Create(); $params->offsetSet('ShipmentOrder', $shipmentOrder); $request->offsetSet('shipment', $parcel); $request->offsetSet('receiver', $receiver); $request->offsetSet('params', $params); $observer = Mage::getModel('dhlaccount/observer'); $event = new Varien_Event_Observer(); $eventData = new Varien_Object(); $eventData->setRequest($request); $event->setEvent($eventData); $observer->appendReceiverEmail($event); $shipmentOrder = $request->offsetGet('params')->offsetGet('ShipmentOrder'); $this->assertTrue(array_key_exists('Shipment', $shipmentOrder)); $this->assertTrue(array_key_exists('Receiver', $shipmentOrder['Shipment'])); $this->assertTrue(array_key_exists('Communication', $shipmentOrder['Shipment']['Receiver'])); $this->assertTrue(array_key_exists('email', $shipmentOrder['Shipment']['Receiver']['Communication'])); $this->assertEquals('*****@*****.**', $shipmentOrder['Shipment']['Receiver']['Communication']['email']); }