Fix #18455: Add ability to use separate attributes for data model and filter model of yii\grid\GridView in yii\grid\DataColumn

This commit is contained in:
PowerGamer1
2021-01-13 10:47:30 +02:00
committed by GitHub
parent 13cda988e7
commit 0781b02cc3
3 changed files with 54 additions and 7 deletions

View File

@ -235,4 +235,33 @@ HTML
HTML
, $result);
}
/**
* @see DataColumn::$filterAttribute
* @see DataColumn::renderFilterCellContent()
*/
public function testFilterInputWithFilterAttribute()
{
$this->mockApplication();
$grid = new GridView([
'dataProvider' => new ArrayDataProvider([
'allModels' => [],
]),
'columns' => [
0 => [
'attribute' => 'username',
'filterAttribute' => 'user_id',
],
],
'filterModel' => new \yiiunit\data\base\RulesModel(['rules' => [['user_id', 'safe']]]),
]);
$dataColumn = $grid->columns[0];
$method = new \ReflectionMethod($dataColumn, 'renderFilterCellContent');
$method->setAccessible(true);
$result = $method->invoke($dataColumn);
$this->assertEquals('<input type="text" class="form-control" name="RulesModel[user_id]">', $result);
}
}