Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
AssertReportStatisticsNoticeMessage.php
Go to the documentation of this file.
1 <?php
8 
9 use Magento\Reports\Test\Page\Adminhtml\SalesReport;
11 use DateTime;
12 
17 {
23  private $lastUpdatedPrefix = 'Last updated: ';
24 
33  public function processAssert(
34  array $salesReport,
35  SalesReport $salesReportPage,
36  DateTime $currentDate
37  ) {
38  $this->salesReportPage = $salesReportPage;
39  $this->searchInSalesReportGrid($salesReport);
40  $date = $this->getLastUpdatedDate();
41  $currentDateTime = $currentDate->format('M j, Y, g');
42  $displayedDateTime = date('M j, Y, g', strtotime($date));
43  \PHPUnit\Framework\Assert::assertEquals(
44  $currentDateTime,
45  $displayedDateTime,
46  "Message in Sales Reports Page is displayed in an incorrect timezone."
47  );
48  }
49 
55  private function getLastUpdatedDate()
56  {
57  $result = '';
58 
59  foreach ($this->salesReportPage->getMessagesBlock()->getNoticeMessages() as $message) {
60  if (strpos($message, $this->lastUpdatedPrefix) === 0) {
61  $messages = explode('.', $message);
62  $message = array_shift($messages);
63  $result = trim($message, $this->lastUpdatedPrefix);
64  break;
65  }
66  }
67 
68  return $result;
69  }
70 
76  public function toString()
77  {
78  return 'Message in Sales Reports Page displays correct date/time in the correct timezone.';
79  }
80 }
processAssert(array $salesReport, SalesReport $salesReportPage, DateTime $currentDate)
$message