Skip to content
Snippets Groups Projects
Commit edfb4606 authored by Rajab Natshah's avatar Rajab Natshah
Browse files

Issue #3403786: Change drupal/core to ~9 in the .info.yml and composer.json...

Issue #3403786: Change drupal/core to ~9 in the .info.yml and composer.json files in the 9.0.x branch
parent 91cdbb9e
No related branches found
No related tags found
No related merge requests found
### Problem/Motivation
#### Steps to reproduce
```
Given
When
Then
```
### Proposed resolution
......@@ -17,6 +13,7 @@
- [ ] Automated unit/functional testing coverage
- [ ] Developer Documentation support on feature change/addition
- [ ] User Guide Documentation support on feature change/addition
- [ ] UX/UI designer responsibilities
- [ ] Accessibility and Readability
- [ ] Code review from 1 Varbase core team member
- [ ] Full testing and approval
......
......@@ -5,6 +5,7 @@
- [ ] Automated unit/functional testing coverage
- [ ] Developer Documentation support on feature change/addition
- [ ] User Guide Documentation support on feature change/addition
- [ ] UX/UI designer responsibilities
- [ ] Accessibility and Readability
- [ ] Code review from 1 Varbase core team member
- [ ] Full testing and approval
......
......@@ -40,7 +40,7 @@ RECOMMENDED MODULES
This module is best used with Varbase distribution.
* Varbase: The Ultimate Drupal 8 CMS Starter Kit (Bootstrap Ready) -
* Varbase: The Ultimate Drupal CMS Starter Kit (Bootstrap Ready) -
https://www.drupal.org/project/varbase
......
build:
assessment:
validate_codebase:
container_command:
commands:
- cd ${SOURCE_DIR}
- rm composer.lock
- composer config minimum-stability dev
- composer config repositories.drupal composer https://packages.drupal.org/8
- composer config repositories.assets composer https://asset-packagist.org
- composer require oomphinc/composer-installers-extender:~2.0
- composer require cweagans/composer-patches:~1.0
- composer config extra.enable-patching true
- composer config extra.composer-exit-on-patch-failure true
- composer config --json extra.installer-types '["npm-asset", "bower-asset"]'
- composer config --unset extra.installer-paths.libraries\/\{\$name\}
- composer config --json extra.installer-paths.libraries\/\{\$name\} '["type:drupal-library", "type:bower-asset", "type:npm-asset"]'
- rm composer.lock
- composer require --dev phpspec/prophecy-phpunit:*
- composer require phpunit/phpunit:~9.0 --with-all-dependencies
- composer require drupal/vartheme_bs4:9.0.x-dev
- cat composer.json
phplint: { }
csslint:
halt-on-fail: false
eslint:
# A test must pass eslinting standards check in order to continue processing.
halt-on-fail: false
phpcs:
# phpcs will use core's specified version of Coder.
sniff-all-files: false
halt-on-fail: false
phpstan:
halt-on-fail: false
testing:
run_tests.javascript:
types: 'PHPUnit-FunctionalJavascript'
testgroups: "varbase_styleguide"
suppress-deprecations: true
halt-on-fail: false
<?php
namespace Drupal\Tests\varbase_styleguide\FunctionalJavascript;
use Drupal\FunctionalJavascriptTests\WebDriverTestBase;
use Drupal\Core\StringTranslation\StringTranslationTrait;
use Drupal\field\Entity\FieldConfig;
use Drupal\field\Entity\FieldStorageConfig;
use Drupal\vmi\ViewModesInventoryFactory;
/**
* Tests Varbase Style Guide.
*
* @group varbase_styleguide
*/
class VarbaseStyleGuideTest extends WebDriverTestBase {
use StringTranslationTrait;
/**
* {@inheritdoc}
*/
protected $profile = 'minimal';
/**
* {@inheritdoc}
*/
protected $defaultTheme = 'vartheme_bs4';
/**
* {@inheritdoc}
*/
protected static $modules = [
'user',
'filter',
'toolbar',
'block',
'views',
'node',
'filter',
'editor',
'ckeditor',
'field',
'field_ui',
'layout_discovery',
'ds',
'ds_extras',
'field_group',
'smart_trim',
'media',
'vmi',
'varbase_styleguide',
];
/**
* {@inheritdoc}
*/
protected function setUp(): void {
parent::setUp();
// Insall the Claro admin theme.
$this->container->get('theme_installer')->install(['claro']);
// Set the Claro theme as the default admin theme.
$this->config('system.theme')->set('admin', 'claro')->save();
drupal_flush_all_caches();
// Given that the root super user was logged in to the site.
$this->drupalLogin($this->rootUser);
// Create a content type and activate all.
$this->testContentType = $this->drupalCreateContentType([
'type' => 'post',
'name' => 'Post',
]);
$storage = FieldStorageConfig::create([
'entity_type' => 'node',
'field_name' => 'field_image',
'type' => 'entity_reference',
'settings' => [
'target_type' => 'media',
],
]);
$storage->save();
FieldConfig::create([
'field_storage' => $storage,
'entity_type' => 'node',
'bundle' => 'post',
'label' => 'Main image',
'settings' => [
'handler_settings' => [
'target_bundles' => [
'image' => 'image',
],
],
],
])->save();
drupal_flush_all_caches();
// Create a testing node.
$this->drupalCreateNode([
'title' => 'Post - Test Content',
'type' => 'post',
'body' => [
[
'value' => 'Varbase is an enhanced Drupal distribution packed with adaptive
functionalities and essential modules, that speed up your development,
and provides you with standardized configurations, making your life easier.
The essence of Varbase, lies within the basic concept that initiated it;
DRY (Don’t Repeat Yourself). Varbase handles that for you, relieving you
from repeating all the modules, features, configurations that are included
in every Drupal project.',
],
],
]);
}
/**
* Check Varbase Style Guide on custom elments.
*
* Varbase elements and Bootstrap elements for Vartheme.
*/
public function testCheckVarbaseStyleGuideOnCustomElementsForVartheme() {
// Check on Vartheme (Bootstrap 4 - SASS).
$this->drupalGet('admin/appearance/styleguide');
$this->assertSession()->pageTextContains('Style guide');
$this->assertSession()->pageTextContains('Showing style guide for Vartheme (Bootstrap 4 - SASS)');
// Check on Bootstrap elements.
$this->assertSession()->pageTextContains('Bootstrap elements');
// Check on Varbase elements.
$this->assertSession()->pageTextContains('Varbase elements');
$this->assertSession()->pageTextContains('Callout Standard');
$this->assertSession()->pageTextContains('Callout Danger');
$this->assertSession()->pageTextContains('Callout Warning');
$this->assertSession()->pageTextContains('Callout Info');
}
/**
* Check Varbase Style Guide on (VMI).
*
* View Modes Inventory - Bootstrap Ready elements for Vartheme.
*/
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');
}
}
......@@ -2,7 +2,7 @@ name: "Varbase Styleguide"
description: "Varbase custom styling guide components."
type: module
package: Varbase
core_version_requirement: ~9.5.0 || ~10.1.0
core_version_requirement: ~9
dependencies:
- styleguide:styleguide
install:
......
......@@ -12,7 +12,7 @@ use Vardot\Installer\ModuleInstallerFactory;
*/
function varbase_styleguide_install() {
// Processer for install: in varbase_admin.info.yml file using ModuleInstallerFactory.
// Processor for install: in varbase_admin.info.yml file using ModuleInstallerFactory.
// ---------------------------------------------------------------------------.
ModuleInstallerFactory::installList('varbase_styleguide');
......@@ -25,6 +25,6 @@ function varbase_styleguide_install() {
*/
function varbase_styleguide_update_90001() {
// Set the weight of the module after installation of list of modules.
// To make sure that any hook or event subscriber workes after all used modules.
// To make sure that any hook or event subscriber worker after all used modules.
ModuleInstallerFactory::setModuleWeightAfterInstallation('varbase_styleguide');
}
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment