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

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

Issue #3403786: Change drupal/core to ~10 in the .info.yml and composer.json files in the 10.0.x branch to allow for a smooth update to latest stable Drupal 10 versions
parent f8b5f705
No related branches found
Tags 3.3.1
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
......
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');
}
}
name: "Varbase Styleguide"
description: "Varbase custom styling guide components."
name: Varbase Styleguide
description: Varbase custom styling guide components.
type: module
package: Varbase
core_version_requirement: ~10.1.0
core_version_requirement: ~10
dependencies:
- styleguide:styleguide
install:
......
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