public function testUpdateProductStatus() { $this->mockChannel(); $this->_object->setBody(array('xProfileId' => '123', 'listings' => array('product' => array('sku' => 'sku_' . rand(1, 10000))))); $productMock = $this->mockModel('catalog/product', array('load', 'getIdBySku', 'getId')); $productMock->expects($this->any())->method('load')->will($this->returnValue($productMock)); $productMock->expects($this->any())->method('getIdBySku')->will($this->returnValue('test_id')); $productMock->expects($this->any())->method('getIdBySku')->will($this->returnValue('test_id')); $productMock->expects($this->any())->method('getId')->will($this->returnValue('test_product_id')); $methods = array('setResponseBody', 'setCorrelationId', 'save'); $logResponseMock = $this->mockModel('xcom_listing/message_listing_log_response', $methods); $logResponseMock->expects($this->once())->method('setResponseBody')->will($this->returnValue($logResponseMock)); $logResponseMock->expects($this->once())->method('setCorrelationId')->will($this->returnValue($logResponseMock)); $logResponseMock->expects($this->once())->method('save')->will($this->returnValue($logResponseMock)); $logRequestMock = $this->mockModel('xcom_listing/message_listing_log_request', array('load', 'getId')); $logRequestMock->expects($this->any())->method('getId')->will($this->returnValue(1)); $logRequestMock->expects($this->any())->method('load')->will($this->returnValue($logRequestMock)); $this->mockModel('xcom_listing/channel_product', array('updateRelations')); $methods = array('setLogResponseId', 'setResponseResult', 'save'); $channelHistoryMock = $this->mockModel('xcom_listing/channel_history', $methods); $channelHistoryMock->expects($this->any())->method('setLogResponseId')->will($this->returnValue($channelHistoryMock)); $channelHistoryMock->expects($this->any())->method('setResponseResult')->will($this->returnValue($channelHistoryMock)); $historyCollection = $this->mockResource('xcom_listing/channel_history_collection', array('addFieldToFilter')); $historyCollection->expects($this->any())->method('addFieldToFilter')->will($this->returnValue(array($channelHistoryMock))); $this->_object->setBody(array('xProfileId' => '123', 'listings' => array(array('product' => array('sku' => 'sku_1'), 'listingURL' => 'listingUrl_' . rand(1, 10000), 'marketItemId' => 'marketItemId_' . rand(1, 10000)), array('product' => array('sku' => 'sku_2'), 'listingURL' => 'listingUrl_' . rand(1, 10000), 'marketItemId' => 'marketItemId_' . rand(1, 10000))))); $this->_object->setHeaders(array("X-XC-RESULT-CORRELATION-ID" => "1216fc7f0a00a60ea74a8799d8c6693b")); $this->assertTrue($this->_object->process()); }
public function testUpdateProductStatus() { $this->mockChannel(); $productMock = $this->mockModel('catalog/product', array('load', 'getIdBySku', 'getId')); $productMock->expects($this->any())->method('load')->will($this->returnValue($productMock)); $productMock->expects($this->any())->method('getIdBySku')->will($this->returnValue('test_id')); $productMock->expects($this->any())->method('getIdBySku')->will($this->returnValue('test_id')); $productMock->expects($this->any())->method('getId')->will($this->returnValue('test_product_id')); $this->mockModel('xcom_listing/channel_product', array('updateRelations')); $this->_object->setBody(array('xProfileId' => '123123', 'updates' => array(array('product' => array('sku' => 'sku_1')), array('product' => array('sku' => 'sku_2'))))); $logResponse = $this->mockModel('xcom_listing/message_listing_log_response', array('setResponseBody', 'setCorrelationId', 'save')); $logResponse->expects($this->any())->method('setResponseBody')->will($this->returnValue($logResponse)); $logResponse->expects($this->any())->method('setCorrelationId')->will($this->returnValue($logResponse)); $logResponse->expects($this->any())->method('save')->will($this->returnValue($logResponse)); $logRequest = $this->mockModel('xcom_listing/message_listing_log_request', array('load')); $logRequest->expects($this->any())->method('load')->will($this->returnValue($logRequest)); $this->_object->setHeaders(array("X-XC-RESULT-CORRELATION-ID" => "1216fc7f0a00a60ea74a8799d8c6693b")); $this->assertTrue($this->_object->process()); }