function PanelizerTermTest::testVocabularyConfiguration in Panelizer 7.3
Test the vocabulary configuration functionality.
File
- tests/panelizer.term.test, line 76 
- Panelizer tests.
Class
- PanelizerTermTest
- Verifies Panelizer configuration options for taxonomy terms.
Code
function testVocabularyConfiguration() {
  // Load the vocabulary's settings page.
  $this
    ->drupalGet('admin/structure/taxonomy/' . $this->vocabulary->machine_name . '/edit');
  $this
    ->assertResponse(200);
  // Confirm that the appropriate fields are present.
  $this
    ->assertFieldByName('panelizer[status]');
  $this
    ->assertFieldByName('panelizer[help]');
  foreach (array(
    'page_manager',
    'default',
  ) as $view_mode) {
    $this
      ->assertFieldByName('panelizer[view modes][' . $view_mode . '][status]');
    $this
      ->assertFieldByName('panelizer[view modes][' . $view_mode . '][default]');
    $this
      ->assertFieldByName('panelizer[view modes][' . $view_mode . '][choice]');
  }
  // Panelize the test vocabulary.
  $edit = array(
    'panelizer[status]' => TRUE,
  );
  $this
    ->drupalPost(NULL, $edit, t('Save'));
  $this
    ->assertResponse(200);
  $term = $this
    ->createTestTerm();
  // Verify the term can be panelized.
  $this
    ->drupalGet('taxonomy/term/' . $term->tid);
  $this
    ->assertResponse(200);
  $this
    ->assertLink('Customize display', 0, 'The customize display link appears on the page');
  $this
    ->assertLinkByHref('taxonomy/term/' . $term->tid . '/panelizer', 0, 'A link to customize the node appears on the page');
  // Allow panelization of the "Default" view mode.
  $edit = array(
    'panelizer[view modes][default][status]' => TRUE,
    'panelizer[view modes][default][default]' => TRUE,
  );
  $this
    ->drupalPost('admin/structure/taxonomy/panelizer_vocabulary/edit', $edit, t('Save'));
  $this
    ->assertResponse(200);
  // Check that the view mode has been panelized.
  $this
    ->drupalGet('taxonomy/term/' . $term->tid);
  $this
    ->assertResponse(200);
  $elements = $this
    ->xpath('//div[contains(@class,:class)]', array(
    ':class' => 'panelizer-view-mode',
  ));
  $this
    ->assertEqual(count($elements), 1, 'The term is panelized.');
}