6
6
7
7
namespace Magento \Checkout \Test \Constraint ;
8
8
9
- use Magento \Checkout \Test \Fixture \Cart ;
10
9
use Magento \Checkout \Test \Page \CheckoutCart ;
11
10
use Magento \Mtf \Client \BrowserInterface ;
12
11
use Magento \Mtf \Constraint \AbstractConstraint ;
@@ -42,10 +41,12 @@ public function processAssert(CheckoutCart $checkoutCart, BrowserInterface $brow
42
41
);
43
42
44
43
$ cartEmptyBlock ->clickLinkToMainPage ();
45
- \ PHPUnit \ Framework \Assert:: assertEquals (
44
+ $ this -> assertUrlEqual (
46
45
$ _ENV ['app_frontend_url ' ],
47
46
$ browser ->getUrl (),
48
- 'Wrong link to main page on empty cart page. '
47
+ true ,
48
+ 'Wrong link to main page on empty cart page: expected - ' . $ _ENV ['app_frontend_url ' ]
49
+ . ', actural - ' . $ browser ->getUrl ()
49
50
);
50
51
}
51
52
@@ -58,4 +59,27 @@ public function toString()
58
59
{
59
60
return 'Shopping Cart is empty. ' ;
60
61
}
62
+
63
+ /**
64
+ * Asserts that two urls are equal
65
+ *
66
+ * @param string $url1
67
+ * @param string $url2
68
+ * @param bool $ignoreScheme
69
+ * @param string $message
70
+ * @return void
71
+ */
72
+ private function assertUrlEqual ($ expectedUrl , $ actualUrl , $ ignoreScheme = false , $ message = '' )
73
+ {
74
+ $ urlArray1 = parse_url ($ expectedUrl );
75
+ $ urlArray2 = parse_url ($ actualUrl );
76
+ if ($ ignoreScheme ) {
77
+ unset($ urlArray1 ['scheme ' ]);
78
+ unset($ urlArray2 ['scheme ' ]);
79
+ }
80
+ \PHPUnit \Framework \Assert::assertTrue (
81
+ $ urlArray1 === $ urlArray2 ,
82
+ $ message
83
+ );
84
+ }
61
85
}
0 commit comments