You are here

public function VarbaseStyleGuideTest::testCheckVarbaseStyleGuideOnVmiElementsForVartheme in Varbase Style Guide 9.0.x

Check Varbase Style Guide on (VMI).

View Modes Inventory - Bootstrap Ready elements for Vartheme.

File

tests/src/FunctionalJavascript/VarbaseStyleGuideTest.php, line 154

Class

VarbaseStyleGuideTest
Tests Varbase Style Guide.

Namespace

Drupal\Tests\varbase_styleguide\FunctionalJavascript

Code

public function testCheckVarbaseStyleGuideOnVmiElementsForVartheme() {
  $assert_session = $this
    ->assertSession();
  $this
    ->drupalGet('admin/structure/types/manage/post/display');
  $assert_session
    ->pageTextContains('Manage display');

  // Check all check boxes for VMI custom display view modes.
  $vmi_factory = \Drupal::service('class_resolver')
    ->getInstanceFromDefinition(ViewModesInventoryFactory::class);

  // View modes inventory list.
  $vmi_list = $vmi_factory
    ->getViewModesList();

  // View modes inventory layouts mapping.
  $vmi_layouts_mapping = $vmi_factory
    ->getLayoutsMapping();
  $selected_view_modes = [
    'hero_xlarge',
    'tout_large',
    'tout_medium',
    'tout_xlarge',
    'vertical_media_teaser_large',
    'vertical_media_teaser_medium',
    'vertical_media_teaser_small',
    'vertical_media_teaser_xlarge',
    'vertical_media_teaser_xsmall',
    'horizontal_media_teaser_large',
    'horizontal_media_teaser_medium',
    'horizontal_media_teaser_small',
    'horizontal_media_teaser_xlarge',
    'horizontal_media_teaser_xsmall',
    'text_teaser_large',
    'text_teaser_medium',
    'text_teaser_small',
  ];
  if (isset($vmi_list['view_modes']) && isset($vmi_layouts_mapping['mapping'])) {
    foreach ($selected_view_modes as $selected_view_mode) {

      // Only when we do hava a new selected view mode inventory.
      if (isset($vmi_list['view_modes'][$selected_view_mode]) && isset($vmi_layouts_mapping['mapping'][$selected_view_mode]) && isset($vmi_layouts_mapping['mapping'][$selected_view_mode]['layout']) && isset($vmi_layouts_mapping['mapping'][$selected_view_mode]['config_template']) && isset($vmi_layouts_mapping['mapping'][$selected_view_mode]['config_name'])) {
        $default_mapped_layout = $vmi_layouts_mapping['mapping'][$selected_view_mode]['layout'];
        $config_template_file = $vmi_layouts_mapping['mapping'][$selected_view_mode]['config_template'];
        $config_name = $vmi_layouts_mapping['mapping'][$selected_view_mode]['config_name'];
        $vmi_factory
          ->mapViewModeWithLayout($selected_view_mode, $default_mapped_layout, 'node', 'post', $config_template_file, $config_name);
      }
    }
  }
  $this
    ->drupalGet('admin/structure/types/manage/post/display/hero_xlarge');
  $assert_session
    ->pageTextContains($this
    ->t('Main image'));
  $assert_session
    ->pageTextContains($this
    ->t('Hero content'));
  $assert_session
    ->pageTextContains($this
    ->t('Title'));
  $this
    ->drupalGet('admin/structure/types/manage/post/display/tout_large');
  $assert_session
    ->pageTextContains($this
    ->t('Main image'));
  $assert_session
    ->pageTextContains($this
    ->t('Tout content'));
  $assert_session
    ->pageTextContains($this
    ->t('Title'));
  $this
    ->drupalGet('admin/structure/types/manage/post/display/tout_medium');
  $assert_session
    ->pageTextContains($this
    ->t('Main image'));
  $assert_session
    ->pageTextContains($this
    ->t('Tout content'));
  $assert_session
    ->pageTextContains($this
    ->t('Title'));
  $this
    ->drupalGet('admin/structure/types/manage/post/display/tout_xlarge');
  $assert_session
    ->pageTextContains($this
    ->t('Main image'));
  $assert_session
    ->pageTextContains($this
    ->t('Tout content'));
  $assert_session
    ->pageTextContains($this
    ->t('Title'));
  $this
    ->drupalGet('admin/structure/types/manage/post/display/vertical_media_teaser_large');
  $assert_session
    ->pageTextContains($this
    ->t('Main image'));
  $assert_session
    ->pageTextContains($this
    ->t('Title'));
  $assert_session
    ->pageTextContains($this
    ->t('Body'));
  $this
    ->drupalGet('admin/structure/types/manage/post/display/vertical_media_teaser_medium');
  $assert_session
    ->pageTextContains($this
    ->t('Main image'));
  $assert_session
    ->pageTextContains($this
    ->t('Title'));
  $assert_session
    ->pageTextContains($this
    ->t('Body'));
  $this
    ->drupalGet('admin/structure/types/manage/post/display/vertical_media_teaser_small');
  $assert_session
    ->pageTextContains($this
    ->t('Main image'));
  $assert_session
    ->pageTextContains($this
    ->t('Title'));
  $assert_session
    ->pageTextContains($this
    ->t('Body'));
  $this
    ->drupalGet('admin/structure/types/manage/post/display/vertical_media_teaser_xlarge');
  $assert_session
    ->pageTextContains($this
    ->t('Main image'));
  $assert_session
    ->pageTextContains($this
    ->t('Title'));
  $assert_session
    ->pageTextContains($this
    ->t('Body'));
  $this
    ->drupalGet('admin/structure/types/manage/post/display/vertical_media_teaser_xsmall');
  $assert_session
    ->pageTextContains($this
    ->t('Main image'));
  $assert_session
    ->pageTextContains($this
    ->t('Title'));
  $assert_session
    ->pageTextContains($this
    ->t('Body'));
  $this
    ->drupalGet('admin/structure/types/manage/post/display/horizontal_media_teaser_large');
  $assert_session
    ->pageTextContains($this
    ->t('Left'));
  $assert_session
    ->pageTextContains($this
    ->t('Main image'));
  $assert_session
    ->pageTextContains($this
    ->t('Right'));
  $assert_session
    ->pageTextContains($this
    ->t('Title'));
  $assert_session
    ->pageTextContains($this
    ->t('Body'));
  $this
    ->drupalGet('admin/structure/types/manage/post/display/horizontal_media_teaser_medium');
  $assert_session
    ->pageTextContains($this
    ->t('Left'));
  $assert_session
    ->pageTextContains($this
    ->t('Main image'));
  $assert_session
    ->pageTextContains($this
    ->t('Right'));
  $assert_session
    ->pageTextContains($this
    ->t('Title'));
  $assert_session
    ->pageTextContains($this
    ->t('Body'));
  $this
    ->drupalGet('admin/structure/types/manage/post/display/horizontal_media_teaser_small');
  $assert_session
    ->pageTextContains($this
    ->t('Left'));
  $assert_session
    ->pageTextContains($this
    ->t('Main image'));
  $assert_session
    ->pageTextContains($this
    ->t('Right'));
  $assert_session
    ->pageTextContains($this
    ->t('Title'));
  $assert_session
    ->pageTextContains($this
    ->t('Body'));
  $this
    ->drupalGet('admin/structure/types/manage/post/display/horizontal_media_teaser_xlarge');
  $assert_session
    ->pageTextContains($this
    ->t('Left'));
  $assert_session
    ->pageTextContains($this
    ->t('Main image'));
  $assert_session
    ->pageTextContains($this
    ->t('Right'));
  $assert_session
    ->pageTextContains($this
    ->t('Title'));
  $assert_session
    ->pageTextContains($this
    ->t('Body'));
  $this
    ->drupalGet('admin/structure/types/manage/post/display/horizontal_media_teaser_xsmall');
  $assert_session
    ->pageTextContains($this
    ->t('Left'));
  $assert_session
    ->pageTextContains($this
    ->t('Main image'));
  $assert_session
    ->pageTextContains($this
    ->t('Right'));
  $assert_session
    ->pageTextContains($this
    ->t('Title'));
  $this
    ->drupalGet('admin/structure/types/manage/post/display/text_teaser_large');
  $assert_session
    ->pageTextContains($this
    ->t('Title'));
  $assert_session
    ->pageTextContains($this
    ->t('Body'));
  $this
    ->drupalGet('admin/structure/types/manage/post/display/text_teaser_medium');
  $assert_session
    ->pageTextContains($this
    ->t('Title'));
  $assert_session
    ->pageTextContains($this
    ->t('Body'));
  $this
    ->drupalGet('admin/structure/types/manage/post/display/text_teaser_small');
  $assert_session
    ->pageTextContains($this
    ->t('Title'));
  $this
    ->drupalGet('admin/appearance/styleguide');
  $assert_session
    ->pageTextContains('Style guide');
  $assert_session
    ->pageTextContains('View Modes - Content type [Post] - hero_xlarge');
  $assert_session
    ->pageTextContains('View Modes - Content type [Post] - tout_large');
  $assert_session
    ->pageTextContains('View Modes - Content type [Post] - tout_medium');
  $assert_session
    ->pageTextContains('View Modes - Content type [Post] - tout_xlarge');
  $assert_session
    ->pageTextContains('View Modes - Content type [Post] - vertical_media_teaser_large');
  $assert_session
    ->pageTextContains('View Modes - Content type [Post] - vertical_media_teaser_medium');
  $assert_session
    ->pageTextContains('View Modes - Content type [Post] - vertical_media_teaser_small');
  $assert_session
    ->pageTextContains('View Modes - Content type [Post] - vertical_media_teaser_xlarge');
  $assert_session
    ->pageTextContains('View Modes - Content type [Post] - vertical_media_teaser_xsmall');
  $assert_session
    ->pageTextContains('View Modes - Content type [Post] - horizontal_media_teaser_large');
  $assert_session
    ->pageTextContains('View Modes - Content type [Post] - horizontal_media_teaser_medium');
  $assert_session
    ->pageTextContains('View Modes - Content type [Post] - horizontal_media_teaser_small');
  $assert_session
    ->pageTextContains('View Modes - Content type [Post] - horizontal_media_teaser_xlarge');
  $assert_session
    ->pageTextContains('View Modes - Content type [Post] - horizontal_media_teaser_xsmall');
  $assert_session
    ->pageTextContains('View Modes - Content type [Post] - text_teaser_large');
  $assert_session
    ->pageTextContains('View Modes - Content type [Post] - text_teaser_medium');
  $assert_session
    ->pageTextContains('View Modes - Content type [Post] - text_teaser_small');
}