You are here

public function FppEntityFormTest::testExistingNonReusable in Fieldable Panels Panes (FPP) 7

Confirm that the edit form has the correct fields for non-reusable FPPs.

File

tests/fpp.entity_form.test, line 118
Tests for the Fieldable Panels Panes module to ensure the basic form works.

Class

FppEntityFormTest
Tests for the Fieldable Panels Panes module to ensure the basic form works.

Code

public function testExistingNonReusable() {

  // Create a user with the admin permission.
  $this->adminUser = $this
    ->createAdminUser();
  $this
    ->drupalLogin($this->adminUser);

  // Create a reusable FPP.
  $fpp = new StdClass();
  $fpp->bundle = $this->bundle;
  $fpp->title = $this->title;
  $fpp->reusable = 0;
  $saved_fpp = fieldable_panels_panes_save($fpp);

  // Load the fpp-add form.
  $this
    ->drupalGet('admin/structure/fieldable-panels-panes/view/' . $fpp->fpid . '/edit');
  $this
    ->assertResponse(200);

  // Check all of the fields that are suitable for a reusable FPP.
  // The basic title field.
  $this
    ->assertFieldByName('title');

  // The "make title a link" option's fields.
  $this
    ->assertFieldByName('link');
  $this
    ->assertFieldByName('path');

  // The admin title & description fields.
  $this
    ->assertFieldByName('admin_title');
  $this
    ->assertFieldByName('admin_description');

  // The 'reusable' option is not changable after the FPP's initial creation,
  // and these fields will be hidden for non-reusable FPPs.
  $this
    ->assertNoFieldByName('reusable');
  $this
    ->assertNoFieldByName('category');

  // The language selector is not present because the Locale module is not
  // enabled by default.
  $this
    ->assertNoFieldByName('language');

  // When editing a non-reusable FPP the revision option may not be disabled
  // but the log field will be available.
  $this
    ->assertNoFieldByName('revision');
  $this
    ->assertFieldByName('log');
}