Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
CalendarTest.php
Go to the documentation of this file.
1 <?php
7 
13 use \PHPUnit_Framework_MockObject_MockObject as MockObject;
14 
18 class CalendarTest extends \PHPUnit\Framework\TestCase
19 {
27  public function testToHtmlWithDifferentLocales($locale)
28  {
29  $calendarBlock = (new ObjectManager($this))->getObject(
30  Calendar::class,
31  [
32  'localeResolver' => $this->getLocalResolver($locale)
33  ]
34  );
35 
36  $calendarBlock->toHtml();
37  }
38 
42  public function localesDataProvider()
43  {
44  return [
45  ['en_US'],
46  ['ja_JP'],
47  ['ko_KR'],
48  ];
49  }
50 
54  public function testGetYearRange()
55  {
56  $calendarBlock = (new ObjectManager($this))->getObject(
57  Calendar::class,
58  [
59  'context' => $this->getContext()
60  ]
61  );
62 
63  $testCurrentYear = (new \DateTime())->format('Y');
64  $this->assertEquals(
65  (int) $testCurrentYear - 100 . ':' . ($testCurrentYear + 100),
66  $calendarBlock->getYearRange()
67  );
68  }
69 
74  private function getLocalResolver($locale)
75  {
76  $localResolver = $this->getMockBuilder(ResolverInterface::class)
77  ->getMockForAbstractClass();
78  $localResolver->method('getLocale')->willReturn($locale);
79 
80  return $localResolver;
81  }
82 
86  private function getContext()
87  {
88  $localeDate = $this->getMockBuilder(TimezoneInterface::class)
89  ->getMockForAbstractClass();
90 
91  return (new ObjectManager($this))->getObject(
92  Context::class,
93  ['localeDate' => $localeDate]
94  );
95  }
96 }