Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
AssertCaseInfoOnSignifydConsole.php
Go to the documentation of this file.
1 <?php
7 
8 use Magento\Mtf\Constraint\AbstractConstraint;
10 use Magento\Signifyd\Test\Fixture\SignifydData;
11 use Magento\Signifyd\Test\Page\SignifydConsole\SignifydCases;
12 
16 class AssertCaseInfoOnSignifydConsole extends AbstractConstraint
17 {
23  private $signifydCases;
24 
34  public function processAssert(
35  SignifydCases $signifydCases,
36  SignifydAddress $billingAddress,
37  SignifydData $signifydData,
38  array $prices,
39  $orderId,
40  $customerFullName
41  ) {
42  $this->signifydCases = $signifydCases;
43 
44  $this->checkDeviceData();
45  $this->checkShippingPrice($signifydData->getShippingPrice());
46  $this->checkGuaranteeDisposition($signifydData->getGuaranteeDisposition());
47  $cvvResponse = $signifydData->getCvvResponse();
48  if (isset($cvvResponse)) {
49  $this->checkCvvResponse($cvvResponse);
50  }
51  $this->checkAvsResponse($signifydData->getAvsResponse());
52  $this->checkOrderId($orderId);
53  $this->checkOrderAmount($prices['grandTotal']);
54  $this->checkOrderAmountCurrency($prices['grandTotalCurrency']);
55  $this->checkCardHolder($customerFullName);
56  $this->checkBillingAddress($billingAddress);
57  }
58 
64  private function checkDeviceData()
65  {
66  \PHPUnit\Framework\Assert::assertTrue(
67  $this->signifydCases->getCaseInfoBlock()->isAvailableDeviceData(),
68  'Device data are not available on case page in Signifyd console.'
69  );
70  }
71 
78  private function checkShippingPrice($shippingPrice)
79  {
80  \PHPUnit\Framework\Assert::assertContains(
82  $this->signifydCases->getCaseInfoBlock()->getShippingPrice(),
83  'Shipping price is incorrect on case page in Signifyd console.'
84  );
85  }
86 
93  private function checkGuaranteeDisposition($guaranteeDisposition)
94  {
95  \PHPUnit\Framework\Assert::assertEquals(
96  $guaranteeDisposition,
97  $this->signifydCases->getCaseInfoBlock()->getGuaranteeDisposition(),
98  'Guarantee disposition is incorrect on case page in Signifyd console.'
99  );
100  }
101 
108  private function checkCvvResponse($cvvResponse)
109  {
110  \PHPUnit\Framework\Assert::assertEquals(
111  $cvvResponse,
112  $this->signifydCases->getCaseInfoBlock()->getCvvResponse(),
113  'CVV response is incorrect on case page in Signifyd console.'
114  );
115  }
116 
123  private function checkAvsResponse($avsResponse)
124  {
125  \PHPUnit\Framework\Assert::assertEquals(
126  $avsResponse,
127  $this->signifydCases->getCaseInfoBlock()->getAvsResponse(),
128  'AVS response is incorrect on case page in Signifyd console.'
129  );
130  }
131 
138  private function checkOrderId($orderId)
139  {
140  \PHPUnit\Framework\Assert::assertEquals(
141  $orderId,
142  $this->signifydCases->getCaseInfoBlock()->getOrderId(),
143  'Order id is incorrect on case page in Signifyd console.'
144  );
145  }
146 
153  private function checkOrderAmount($amount)
154  {
155  \PHPUnit\Framework\Assert::assertEquals(
156  number_format($amount, 2),
157  $this->signifydCases->getCaseInfoBlock()->getOrderAmount(),
158  'Order amount is incorrect on case page in Signifyd console.'
159  );
160  }
161 
168  private function checkOrderAmountCurrency($currency)
169  {
170  \PHPUnit\Framework\Assert::assertEquals(
171  $currency,
172  $this->signifydCases->getCaseInfoBlock()->getOrderAmountCurrency(),
173  'Order amount currency is incorrect on case page in Signifyd console.'
174  );
175  }
176 
183  private function checkCardHolder($customerFullName)
184  {
185  \PHPUnit\Framework\Assert::assertEquals(
186  $customerFullName,
187  $this->signifydCases->getCaseInfoBlock()->getCardHolder(),
188  'Card holder name is incorrect on case page in Signifyd console.'
189  );
190  }
191 
198  private function checkBillingAddress(SignifydAddress $billingAddress)
199  {
200  \PHPUnit\Framework\Assert::assertContains(
201  $billingAddress->getStreet(),
202  $this->signifydCases->getCaseInfoBlock()->getBillingAddress(),
203  'Billing address is incorrect on case page in Signifyd console.'
204  );
205  }
206 
210  public function toString()
211  {
212  return 'Case information is correct on case page in Signifyd console.';
213  }
214 }
processAssert(SignifydCases $signifydCases, SignifydAddress $billingAddress, SignifydData $signifydData, array $prices, $orderId, $customerFullName)
$billingAddress
Definition: order.php:25
$shippingPrice
Definition: price.phtml:12
$amount
Definition: order.php:14