Issue #2313073 by smustgrave, asad_ahmed, mrinalini9, Munavijayalakshmi, Abhijith S, Lendude, alexpott: Views preview doesn't pass 0 to context filters

(cherry picked from commit 43ea903a40)
merge-requests/2282/merge
Alex Pott 2022-08-09 19:46:29 +01:00
parent 97dfc929e0
commit 453e372351
No known key found for this signature in database
GPG Key ID: BDA67E7EE836E5CE
2 changed files with 11 additions and 3 deletions

View File

@ -40,7 +40,7 @@ class ViewPreviewForm extends ViewFormBase {
'#default_value' => \Drupal::config('views.settings')->get('ui.always_live_preview'), '#default_value' => \Drupal::config('views.settings')->get('ui.always_live_preview'),
]; ];
// Add the arguments textfield // Add the arguments textfield.
$form['controls']['view_args'] = [ $form['controls']['view_args'] = [
'#type' => 'textfield', '#type' => 'textfield',
'#title' => $this->t('Preview with contextual filters:'), '#title' => $this->t('Preview with contextual filters:'),
@ -49,7 +49,7 @@ class ViewPreviewForm extends ViewFormBase {
]; ];
$args = []; $args = [];
if (!$form_state->isValueEmpty('view_args')) { if ($form_state->getValue('view_args', '') !== '') {
$args = explode('/', $form_state->getValue('view_args')); $args = explode('/', $form_state->getValue('view_args'));
} }

View File

@ -39,7 +39,15 @@ class PreviewTest extends UITestBase {
]); ]);
$this->assertSession()->elementsCount('xpath', $selector, 1); $this->assertSession()->elementsCount('xpath', $selector, 1);
$this->submitForm($edit = ['view_args' => '100'], 'Update preview'); $this->submitForm(['view_args' => '100'], 'Update preview');
// Test that area text and exposed filters are present and rendered.
$this->assertSession()->fieldExists('id');
$this->assertSession()->pageTextContains('Test header text');
$this->assertSession()->pageTextContains('Test footer text');
$this->assertSession()->pageTextContains('Test empty text');
$this->submitForm(['view_args' => '0'], 'Update preview');
// Test that area text and exposed filters are present and rendered. // Test that area text and exposed filters are present and rendered.
$this->assertSession()->fieldExists('id'); $this->assertSession()->fieldExists('id');