Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
ColumnResolverTest.php
Go to the documentation of this file.
1 <?php
8 
10 
14 class ColumnResolverTest extends \PHPUnit\Framework\TestCase
15 {
16  const CUSTOM_FIELD = 'custom_field';
17 
18  private $values = [
19  ColumnResolver::COLUMN_COUNTRY => 'country value',
20  ColumnResolver::COLUMN_REGION => 'region value',
21  ColumnResolver::COLUMN_ZIP => 'zip_value',
22  ColumnResolver::COLUMN_WEIGHT => 'weight_value',
23  ColumnResolver::COLUMN_WEIGHT_DESTINATION => 'weight_destination_value',
24  ColumnResolver::COLUMN_PRICE => 'price_value',
25  self::CUSTOM_FIELD => 'custom_value',
26  ];
27 
34  public function testGetColumnValueByPosition($column, $expectedValue)
35  {
36  $headers = array_keys($this->values);
37  $headers = [];
38  $columnResolver = $this->createColumnResolver($headers);
39  $values = array_values($this->values);
40  $result = $columnResolver->getColumnValue($column, $values);
41  $this->assertEquals($expectedValue, $result);
42  }
43 
49  private function createColumnResolver(array $headers = [], array $columns = [])
50  {
51  return new ColumnResolver($headers, $columns);
52  }
53 
58  public function testGetColumnValueByHeader($column, $expectedValue)
59  {
60  $reversedValues = array_reverse($this->values);
61  $headers = array_keys($reversedValues);
62  $values = array_values($reversedValues);
63  $columnResolver = $this->createColumnResolver($headers);
64  $result = $columnResolver->getColumnValue($column, $values);
65  $this->assertEquals($expectedValue, $result);
66  }
67 
71  public function getColumnValueDataProvider()
72  {
73  return [
76  $this->values[ColumnResolver::COLUMN_COUNTRY],
77  ],
80  $this->values[ColumnResolver::COLUMN_REGION],
81  ],
84  $this->values[ColumnResolver::COLUMN_ZIP],
85  ],
88  $this->values[ColumnResolver::COLUMN_WEIGHT],
89  ],
93  ],
96  $this->values[ColumnResolver::COLUMN_PRICE],
97  ]
98  ];
99  }
100 
105  {
106  $customField = [
107  self::CUSTOM_FIELD => [
109  $this->values[self::CUSTOM_FIELD],
110  ],
111  ];
112  return array_merge($this->getColumnValueDataProvider(), $customField);
113  }
114 
121  {
122  $columnResolver = $this->createColumnResolver();
123  $values = array_values($this->values);
124  $columnResolver->getColumnValue(self::CUSTOM_FIELD, $values);
125  }
126 
133  {
134  $columnName = 'new_custom_column';
135 
136  $headers = array_keys($this->values);
137  $headers[] = $columnName;
138  $columnResolver = $this->createColumnResolver($headers);
139  $values = array_values($this->values);
140  $columnResolver->getColumnValue($columnName, $values);
141  }
142 }
$columns
Definition: default.phtml:15