Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
TranslatedListsTest.php
Go to the documentation of this file.
1 <?php
8 
9 class TranslatedListsTest extends \PHPUnit\Framework\TestCase
10 {
14  protected $listsModel;
15 
19  protected $mockConfig;
20 
25 
26  protected function setUp()
27  {
28  $this->mockConfig = $this->getMockBuilder(\Magento\Framework\Locale\ConfigInterface::class)
29  ->disableOriginalConstructor()
30  ->getMock();
31  $this->mockLocaleResolver = $this->getMockBuilder(\Magento\Framework\Locale\ResolverInterface::class)
32  ->disableOriginalConstructor()
33  ->getMock();
34  $this->mockLocaleResolver->expects($this->once())
35  ->method('getLocale')
36  ->will($this->returnValue('en_US'));
37 
38  $this->listsModel = new \Magento\Framework\Locale\TranslatedLists(
39  $this->mockConfig,
40  $this->mockLocaleResolver
41  );
42  }
43 
44  public function testGetCountryTranslation()
45  {
46  $this->assertNull($this->listsModel->getCountryTranslation(null));
47  $this->assertNull($this->listsModel->getCountryTranslation(null, 'en_US'));
48  }
49 
50  public function testGetOptionAllCurrencies()
51  {
52  $expectedResults = ['USD', 'EUR', 'GBP', 'UAH'];
53 
54  $currencyList = $this->listsModel->getOptionAllCurrencies();
55  foreach ($expectedResults as $value) {
56  $found = false;
57  foreach ($currencyList as $item) {
58  $found = $found || ($value == $item['value']);
59  }
60  $this->assertTrue($found);
61  }
62  }
63 
64  public function testGetOptionCurrencies()
65  {
66  $allowedCurrencies = ['USD', 'EUR', 'GBP', 'UAH'];
67 
68  $this->mockConfig->expects($this->once())
69  ->method('getAllowedCurrencies')
70  ->will($this->returnValue($allowedCurrencies));
71 
72  $expectedResults = ['USD', 'EUR', 'GBP', 'UAH'];
73 
74  $currencyList = $this->listsModel->getOptionCurrencies();
75  $currencyCodes = array_map(
76  function ($data) {
77  return $data['value'];
78  },
79  $currencyList
80  );
81  foreach ($expectedResults as $value) {
82  $this->assertContains($value, $currencyCodes);
83  }
84  }
85 
86  public function testGetOptionCountries()
87  {
88  $expectedResults = ['US', 'GB', 'DE', 'UA'];
89 
90  $list = $this->listsModel->getOptionCountries();
91  foreach ($expectedResults as $value) {
92  $found = false;
93  foreach ($list as $item) {
94  $found = $found || ($value == $item['value']);
95  }
96  $this->assertTrue($found);
97  }
98  }
99 
100  public function testGetOptionsWeekdays()
101  {
102  $expectedArray = [
103  ['label' => 'Sunday', 'value' => 'Sun'],
104  ['label' => 'Monday', 'value' => 'Mon'],
105  ['label' => 'Tuesday', 'value' => 'Tue'],
106  ['label' => 'Wednesday', 'value' => 'Wed'],
107  ['label' => 'Thursday', 'value' => 'Thu'],
108  ['label' => 'Friday', 'value' => 'Fri'],
109  ['label' => 'Saturday', 'value' => 'Sat'],
110  ];
111 
112  $this->assertEquals($expectedArray, $this->listsModel->getOptionWeekdays(true, true));
113  }
114 
115  public function testGetOptionTimezones()
116  {
117  $expectedResults = ['Australia/Darwin', 'America/Los_Angeles', 'Asia/Jerusalem'];
118 
119  $list = $this->listsModel->getOptionTimezones();
120  foreach ($expectedResults as $value) {
121  $found = false;
122  foreach ($list as $item) {
123  $found = $found || ($value == $item['value']);
124  }
125  $this->assertTrue($found);
126  }
127  }
128 
129  public function testGetOptionLocales()
130  {
131  $this->setupForOptionLocales();
132 
133  $expectedResults = ['en_US', 'uk_UA', 'de_DE'];
134 
135  $list = $this->listsModel->getOptionLocales();
136  foreach ($expectedResults as $value) {
137  $found = false;
138  foreach ($list as $item) {
139  $found = $found || ($value == $item['value']);
140  }
141  $this->assertTrue($found);
142  }
143  }
144 
146  {
147  $this->setupForOptionLocales();
148 
149  $expectedResults = ['en_US', 'uk_UA', 'de_DE'];
150 
151  $list = $this->listsModel->getOptionLocales();
152  foreach ($expectedResults as $value) {
153  $found = false;
154  foreach ($list as $item) {
155  $found = $found || ($value == $item['value']);
156  }
157  $this->assertTrue($found);
158  }
159  }
160 
164  protected function setupForOptionLocales()
165  {
166  $allowedLocales = ['en_US', 'uk_UA', 'de_DE'];
167  $this->mockConfig->expects($this->once())
168  ->method('getAllowedLocales')
169  ->will($this->returnValue($allowedLocales));
170  }
171 }
$value
Definition: gender.phtml:16