You are here

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

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

.. when the allow_reusable_access is enabled.

File

tests/fpp.entity_form.test, line 167
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 testAllowReusableAccessOption() {

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

  // Create a non-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);

  // 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');

  // 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');

  // Change the 'allow_reusable_access' option.
  variable_set('fpp_allow_reusable_access', TRUE);

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

  // The 'reusable' option is now changable again because the
  // "allow_reusable_access" option has been enabled.
  $this
    ->assertFieldByName('reusable');
  $this
    ->assertFieldByName('category');

  // The revision fields should be visible when editing a reusable FPP.
  $this
    ->assertFieldByName('revision');
  $this
    ->assertFieldByName('log');
}