Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
SortingTest.php
Go to the documentation of this file.
1 <?php
7 
8 class SortingTest extends \PHPUnit\Framework\TestCase
9 {
13  protected $_model;
14 
15  protected function setUp()
16  {
17  $this->_model = new \Magento\Config\Model\Config\Structure\Mapper\Sorting();
18  }
19 
20  public function testMap()
21  {
22  $tabs = [
23  'tab_1' => ['sortOrder' => 10],
24  'tab_2' => ['sortOrder' => 5],
25  'tab_3' => ['sortOrder' => 1],
26  ];
27 
28  $sections = [
29  'section_1' => ['sortOrder' => 10],
30  'section_2' => ['sortOrder' => 5],
31  'section_3' => ['sortOrder' => 1],
32  'section_4' => [
33  'sortOrder' => 500,
34  'children' => [
35  'group_1' => ['sortOrder' => 150],
36  'group_2' => ['sortOrder' => 20],
37  'group_3' => [
38  'sortOrder' => 30,
39  'children' => [
40  'field_1' => ['sortOrder' => 200],
41  'field_2' => ['sortOrder' => 100],
42  'subGroup' => [
43  'sortOrder' => 0,
44  'children' => [
45  'field_4' => ['sortOrder' => 200],
46  'field_5' => ['sortOrder' => 100],
47  ],
48  ],
49  ],
50  ],
51  ],
52  ],
53  ];
54 
55  $data = ['config' => ['system' => ['tabs' => $tabs, 'sections' => $sections]]];
56 
57  $expected = [
58  'config' => [
59  'system' => [
60  'tabs' => [
61  'tab_3' => ['sortOrder' => 1],
62  'tab_2' => ['sortOrder' => 5],
63  'tab_1' => ['sortOrder' => 10],
64  ],
65  'sections' => [
66  'section_3' => ['sortOrder' => 1],
67  'section_2' => ['sortOrder' => 5],
68  'section_1' => ['sortOrder' => 10],
69  'section_4' => [
70  'sortOrder' => 500,
71  'children' => [
72  'group_2' => ['sortOrder' => 20],
73  'group_3' => [
74  'sortOrder' => 30,
75  'children' => [
76  'subGroup' => [
77  'sortOrder' => 0,
78  'children' => [
79  'field_5' => ['sortOrder' => 100],
80  'field_4' => ['sortOrder' => 200],
81  ],
82  ],
83  'field_2' => ['sortOrder' => 100],
84  'field_1' => ['sortOrder' => 200],
85  ],
86  ],
87  'group_1' => ['sortOrder' => 150],
88  ],
89  ],
90  ],
91  ],
92  ],
93  ];
94  $actual = $this->_model->map($data);
95  $this->assertEquals($expected, $actual);
96  }
97 }