View source
<?php
namespace Drupal\Tests\viewfield\FunctionalJavascript;
class ViewfieldFormatterTest extends ViewfieldFunctionalTestBase {
public function testViewfieldFormatterDefault() {
$this->form
->setComponent('field_view_test', [
'type' => 'viewfield_select',
])
->save();
$this->display
->setComponent('field_view_test', [
'type' => 'viewfield_default',
'weight' => 1,
'label' => 'hidden',
])
->save();
$this
->drupalGet('node/add/article_test');
$session = $this
->assertSession();
$viewfield_target = $session
->fieldExists("field_view_test[0][target_id]");
$viewfield_display = $session
->fieldExists("field_view_test[0][display_id]");
$edit = [
'title[0][value]' => $this
->randomMachineName(),
];
$viewfield_target
->setValue('content_test');
$session
->assertWaitOnAjaxRequest();
$viewfield_display
->setValue('block_1');
$this
->drupalPostForm(NULL, $edit, t('Save'));
$this
->assertSession()
->responseContains('Article 1');
$this
->assertSession()
->responseContains('Page 1');
}
public function testViewfieldFormatterTitle() {
$this->form
->setComponent('field_view_test', [
'type' => 'viewfield_select',
])
->save();
$this->display
->setComponent('field_view_test', [
'type' => 'viewfield_title',
'weight' => 1,
'label' => 'hidden',
])
->save();
$this
->drupalGet('node/add/article_test');
$session = $this
->assertSession();
$viewfield_target = $session
->fieldExists("field_view_test[0][target_id]");
$viewfield_display = $session
->fieldExists("field_view_test[0][display_id]");
$edit = [
'title[0][value]' => $this
->randomMachineName(),
];
$viewfield_target
->setValue('content_test');
$session
->assertWaitOnAjaxRequest();
$viewfield_display
->setValue('block_1');
$this
->drupalPostForm(NULL, $edit, t('Save'));
$this
->assertSession()
->pageTextContains('View: (content_test)');
$this
->assertSession()
->pageTextContains('Display: Block (block_1)');
}
public function testViewfieldArgumentHandling() {
$this->form
->setComponent('field_view_test', [
'type' => 'viewfield_select',
])
->save();
$this->display
->setComponent('field_view_test', [
'type' => 'viewfield_default',
'weight' => 1,
'label' => 'hidden',
])
->save();
$this
->drupalGet('node/add/article_test');
$session = $this
->assertSession();
$viewfield_target = $session
->fieldExists("field_view_test[0][target_id]");
$viewfield_display = $session
->fieldExists("field_view_test[0][display_id]");
$viewfield_arguments = $session
->fieldExists("field_view_test[0][arguments]");
$viewfield_target
->setValue('content_test');
$session
->assertWaitOnAjaxRequest();
$viewfield_display
->setValue('block_1');
$this
->click('#field-view-test-values details');
$viewfield_arguments
->setValue('page_test');
$edit = [
'title[0][value]' => $this
->randomMachineName(),
];
$this
->drupalPostForm(NULL, $edit, t('Save'));
$this
->assertSession()
->responseContains('Page 1');
$this
->assertSession()
->responseNotContains('Article 1');
}
public function testViewfieldItemsToDisplay() {
$this->form
->setComponent('field_view_test', [
'type' => 'viewfield_select',
])
->save();
$this->display
->setComponent('field_view_test', [
'type' => 'viewfield_default',
'weight' => 1,
'label' => 'hidden',
])
->save();
$this
->drupalGet('node/add/article_test');
$session = $this
->assertSession();
$page = $this
->getSession()
->getPage();
$viewfield_target = $session
->fieldExists("field_view_test[0][target_id]");
$viewfield_display = $session
->fieldExists("field_view_test[0][display_id]");
$viewfield_items = $session
->fieldExists("field_view_test[0][items_to_display]");
$viewfield_target
->setValue('content_test');
$session
->assertWaitOnAjaxRequest();
$viewfield_display
->setValue('block_1');
$this
->click('#field-view-test-values details');
$viewfield_items
->setValue('2');
$edit = [
'title[0][value]' => $this
->randomMachineName(),
];
$this
->drupalPostForm(NULL, $edit, t('Save'));
$rows = $page
->findAll('css', '.views-element-container div .views-row');
$this
->assertCount(2, $rows);
}
public function testViewfieldEmptyView() {
$this->form
->setComponent('field_view_test', [
'type' => 'viewfield_select',
])
->save();
$this->display
->setComponent('field_view_test', [
'type' => 'viewfield_default',
'weight' => 1,
'label' => 'hidden',
])
->save();
$this
->drupalGet('node/add/article_test');
$session = $this
->assertSession();
$viewfield_target = $session
->fieldExists("field_view_test[0][target_id]");
$viewfield_display = $session
->fieldExists("field_view_test[0][display_id]");
$viewfield_arguments = $session
->fieldExists("field_view_test[0][arguments]");
$viewfield_target
->setValue('content_test');
$session
->assertWaitOnAjaxRequest();
$viewfield_display
->setValue('block_1');
$this
->click('#field-view-test-values details');
$viewfield_arguments
->setValue('content_type_null');
$edit = [
'title[0][value]' => $this
->randomMachineName(),
];
$this
->drupalPostForm(NULL, $edit, t('Save'));
$this
->assertSession()
->elementNotExists('css', 'div.field--name-field-view-test');
}
}