@@ -257,7 +257,7 @@ private function assertTrackingResult($expectedTrackingData, $trackingResults):
257
257
* @magentoConfigFixture default_store carriers/dhl/id some ID
258
258
* @magentoConfigFixture default_store carriers/dhl/password some password
259
259
* @magentoConfigFixture default_store carriers/dhl/account 1234567890
260
- * @magentoConfigFixture default_store carriers/dhl/gateway_url https://xmlpi-ea.dhl.com/XMLShippingServlet
260
+ * @magentoConfigFixture default_store carriers/dhl/gateway_xml_url https://xmlpi-ea.dhl.com/XMLShippingServlet
261
261
* @magentoConfigFixture default_store carriers/dhl/content_type N
262
262
* @magentoConfigFixture default_store carriers/dhl/nondoc_methods 1,3,4,8,P,Q,E,F,H,J,M,V,Y
263
263
* @magentoConfigFixture default_store carriers/dhl/unit_of_measure C
@@ -451,12 +451,13 @@ private function buildSoftwareVersion(): string
451
451
* Tests that valid rates are returned when sending a quotes request.
452
452
*
453
453
* @magentoConfigFixture default_store carriers/dhl/active 1
454
+ * @magentoConfigFixture default_store carriers/dhl/type DHL_XML
454
455
* @magentoConfigFixture default_store carriers/dhl/id some ID
455
456
* @magentoConfigFixture default_store carriers/dhl/shipment_days Mon,Tue,Wed,Thu,Fri,Sat
456
457
* @magentoConfigFixture default_store carriers/dhl/intl_shipment_days Mon,Tue,Wed,Thu,Fri,Sat
457
458
* @magentoConfigFixture default_store carriers/dhl/allowed_methods IE
458
459
* @magentoConfigFixture default_store carriers/dhl/international_service IE
459
- * @magentoConfigFixture default_store carriers/dhl/gateway_url https://xmlpi-ea.dhl.com/XMLShippingServlet
460
+ * @magentoConfigFixture default_store carriers/dhl/gateway_xml_url https://xmlpi-ea.dhl.com/XMLShippingServlet
460
461
* @magentoConfigFixture default_store carriers/dhl/id some ID
461
462
* @magentoConfigFixture default_store carriers/dhl/password some password
462
463
* @magentoConfigFixture default_store carriers/dhl/content_type N
@@ -506,6 +507,7 @@ public function testCollectRates()
506
507
* @param string|null $width
507
508
* @param string|null $depth
508
509
* @magentoConfigFixture default_store carriers/dhl/active 1
510
+ * @magentoConfigFixture default_store carriers/dhl/type DHL_XML
509
511
* @dataProvider collectRatesWithoutDimensionsDataProvider
510
512
*/
511
513
public function testCollectRatesWithoutDimensions (?string $ size , ?string $ height , ?string $ width , ?string $ depth )
@@ -528,6 +530,8 @@ public function testCollectRatesWithoutDimensions(?string $size, ?string $height
528
530
* Test get carriers rates if has HttpException.
529
531
*
530
532
* @magentoConfigFixture default_store carriers/dhl/active 1
533
+ * @magentoConfigFixture default_store carriers/dhl/type DHL_XML
534
+ *
531
535
*/
532
536
public function testGetRatesWithHttpException (): void
533
537
{
@@ -588,12 +592,13 @@ private function setDhlConfig(array $params)
588
592
* @param array $addRequestData
589
593
* @param bool $freeShippingExpects
590
594
* @magentoConfigFixture default_store carriers/dhl/active 1
595
+ * @magentoConfigFixture default_store carriers/dhl/type DHL_XML
591
596
* @magentoConfigFixture default_store carriers/dhl/id some ID
592
597
* @magentoConfigFixture default_store carriers/dhl/shipment_days Mon,Tue,Wed,Thu,Fri,Sat
593
598
* @magentoConfigFixture default_store carriers/dhl/intl_shipment_days Mon,Tue,Wed,Thu,Fri,Sat
594
599
* @magentoConfigFixture default_store carriers/dhl/allowed_methods IE
595
600
* @magentoConfigFixture default_store carriers/dhl/international_service IE
596
- * @magentoConfigFixture default_store carriers/dhl/gateway_url https://xmlpi-ea.dhl.com/XMLShippingServlet
601
+ * @magentoConfigFixture default_store carriers/dhl/gateway_xml_url https://xmlpi-ea.dhl.com/XMLShippingServlet
597
602
* @magentoConfigFixture default_store carriers/dhl/id some ID
598
603
* @magentoConfigFixture default_store carriers/dhl/password some password
599
604
* @magentoConfigFixture default_store carriers/dhl/content_type N
@@ -686,6 +691,8 @@ private function getRequestData(): array
686
691
'dhl_id ' => 'MAGEN_8501 ' ,
687
692
'dhl_password ' => 'QR2GO1U74X ' ,
688
693
'dhl_account ' => '799909537 ' ,
694
+ 'dhl_api_key ' => 'ab01cD2eF3gH4j ' ,
695
+ 'dhl_api_secret ' => 'A!1bC@3dE#4fG$5h ' ,
689
696
'dhl_shipping_intl_key ' => '54233F2B2C4E5C4B4C5E5A59565530554B405641475D5659 ' ,
690
697
'girth ' => null ,
691
698
'height ' => null ,
@@ -737,4 +744,53 @@ private function createRequest(array $addRequestData = []): RateRequest
737
744
738
745
return Bootstrap::getObjectManager ()->create (RateRequest::class, ['data ' => $ requestData ]);
739
746
}
747
+
748
+ /**
749
+ * Tests that valid rates are returned when sending a quotes request.
750
+ *
751
+ * @magentoConfigFixture default_store carriers/dhl/active 1
752
+ * @magentoConfigFixture default_store carriers/dhl/type DHL_REST
753
+ * @magentoConfigFixture default_store carriers/dhl/api_key some KEY
754
+ * @magentoConfigFixture default_store carriers/dhl/shipment_days Mon,Tue,Wed,Thu,Fri,Sat
755
+ * @magentoConfigFixture default_store carriers/dhl/intl_shipment_days Mon,Tue,Wed,Thu,Fri,Sat
756
+ * @magentoConfigFixture default_store carriers/dhl/allowed_methods IE
757
+ * @magentoConfigFixture default_store carriers/dhl/international_service IE
758
+ * @magentoConfigFixture default_store carriers/dhl/gateway_rest_url https://express.api.dhl.com/mydhlapi
759
+ * @magentoConfigFixture default_store carriers/dhl/api_key some KEY
760
+ * @magentoConfigFixture default_store carriers/dhl/api_secret some secret
761
+ * @magentoConfigFixture default_store carriers/dhl/content_type N
762
+ * @magentoConfigFixture default_store carriers/dhl/nondoc_methods 1,3,4,8,P,Q,E,F,H,J,M,V,Y,N
763
+ * @magentoConfigFixture default_store carriers/dhl/showmethod' => 1,
764
+ * @magentoConfigFixture default_store carriers/dhl/title DHL Title
765
+ * @magentoConfigFixture default_store carriers/dhl/specificerrmsg dhl error message
766
+ * @magentoConfigFixture default_store carriers/dhl/unit_of_measure K
767
+ * @magentoConfigFixture default_store carriers/dhl/size 1
768
+ * @magentoConfigFixture default_store carriers/dhl/height 1.6
769
+ * @magentoConfigFixture default_store carriers/dhl/width 1.6
770
+ * @magentoConfigFixture default_store carriers/dhl/length 1.6
771
+ * @magentoConfigFixture default_store carriers/dhl/debug 1
772
+ * @magentoConfigFixture default_store shipping/origin/country_id GB
773
+ */
774
+ public function testCollectRestRates ()
775
+ {
776
+ $ this ->setNextResponse (__DIR__ . '/../_files/dhl_quote_response.json ' );
777
+ $ request = $ this ->createRequest ();
778
+ $ expectedRates = [
779
+ ['carrier ' => 'dhl ' , 'carrier_title ' => 'DHL Title ' , 'price ' => 47.63 , 'method ' => 'N ' , 'cost ' => 47.63 ]
780
+ ];
781
+
782
+ $ actualRates = $ this ->dhlCarrier ->collectRates ($ request )->getAllRates ();
783
+
784
+ self ::assertEquals (count ($ expectedRates ), count ($ actualRates ));
785
+ foreach ($ actualRates as $ i => $ actualRate ) {
786
+ $ actualRate = $ actualRate ->getData ();
787
+ unset($ actualRate ['method_title ' ]);
788
+ self ::assertEquals ($ expectedRates [$ i ], $ actualRate );
789
+ }
790
+ $ requestRest = $ this ->httpClient ->getLastRequest ()->getBody ();
791
+ self ::assertStringContainsString ('"weight": 18 ' , $ requestRest );
792
+ self ::assertStringContainsString ('"height": 0.63 ' , $ requestRest );
793
+ self ::assertStringContainsString ('"width": 0.63 ' , $ requestRest );
794
+ self ::assertStringContainsString ('"length": 0 ' , $ requestRest );
795
+ }
740
796
}
0 commit comments