diff --git a/.gitlab/issue_templates/default.md b/.gitlab/issue_templates/default.md index c34451c2b7de6e3a8f65ad214fa897508596570f..572b5512e011e5e913290e6c45bc6e02f43e7f77 100644 --- a/.gitlab/issue_templates/default.md +++ b/.gitlab/issue_templates/default.md @@ -1,11 +1,7 @@ ### 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 diff --git a/.gitlab/merge_request_templates/default.md b/.gitlab/merge_request_templates/default.md index edcee8fbd134f37fa33ceb92dac367cf5e42ae27..b500bc92ea17dccc80d550eec4d243bf092c6866 100644 --- a/.gitlab/merge_request_templates/default.md +++ b/.gitlab/merge_request_templates/default.md @@ -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 diff --git a/README.md b/README.md index 24004c538d0b568ea8f61268d63f30851af2e175..3b657a82c4e5a5100ef583e3d7b7671b11d64a6d 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Can be installed in the extra components installation step with Varbase. ## Use With [Varbase](https://www.drupal.org/project/varbase) Distribution: This module is best used with [Varbase](https://www.drupal.org/project/varbase) distribution. -Can be installed with any Drupal 8/9 site. +Can be installed with any Drupal site. Even if installed with the Minimal or Standard profile. However, using it with [Varbase](https://www.drupal.org/project/varbase) gives you way much more cool stuff! diff --git a/composer.json b/composer.json index e509f3f7a51d551c040abde63775381a9135e788..3210eba7dd65380654a123b934c28c6858eb54e3 100644 --- a/composer.json +++ b/composer.json @@ -32,7 +32,7 @@ "composer/installers": "~2.0", "oomphinc/composer-installers-extender": "~2.0", "cweagans/composer-patches": "~1.0", - "drupal/core": "~9.5.0 || ~10.1.0", + "drupal/core": "~9", "vardot/entity-definition-update-manager": "~1.0", "vardot/module-installer-factory": "~1.0", "drupal/consumers": "~1.0", diff --git a/drupalci.yml b/drupalci.yml deleted file mode 100644 index a4f934aea458e93fb9ce86973fb0ce57f03ba154..0000000000000000000000000000000000000000 --- a/drupalci.yml +++ /dev/null @@ -1,41 +0,0 @@ -build: - assessment: - validate_codebase: - container_command: - commands: - - cd ${SOURCE_DIR} - - composer config repositories.drupal composer https://packages.drupal.org/8 - - composer config --unset repositories.0 - - 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 require --dev phpspec/prophecy-phpunit:* - - composer require phpunit/phpunit:~9.0 --with-all-dependencies - - composer config --json extra.installer-types '["npm-asset", "bower-asset"]' - - composer config --json extra.installer-paths.libraries\/swagger-ui\/dist '["npm-asset/swagger-ui-dist"]' - - 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 npm-asset/swagger-ui-dist:~3.0 - - cat composer.json - - find ${SOURCE_DIR}/libraries | sed -e "s/[^-][^\/]*\// |/g" -e "s/|\([^ ]\)/|-\1/" - 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_api" - suppress-deprecations: true - halt-on-fail: false diff --git a/tests/src/FunctionalJavascript/VarbaseApiEntityOperationsTest.php b/tests/src/FunctionalJavascript/VarbaseApiEntityOperationsTest.php deleted file mode 100644 index deb6b6fa464b366838ac2e373b17ad02e6402f87..0000000000000000000000000000000000000000 --- a/tests/src/FunctionalJavascript/VarbaseApiEntityOperationsTest.php +++ /dev/null @@ -1,318 +0,0 @@ -<?php - -namespace Drupal\Tests\varbase_api\FunctionalJavascript; - -use Drupal\FunctionalJavascriptTests\WebDriverTestBase; -use Drupal\Core\StringTranslation\StringTranslationTrait; - -/** - * Tests Varbase API Entity Operations. - * - * @group varbase_api - */ -class VarbaseApiEntityOperationsTest extends WebDriverTestBase { - - use StringTranslationTrait; - - /** - * {@inheritdoc} - */ - protected $profile = 'standard'; - - /** - * {@inheritdoc} - */ - protected $defaultTheme = 'olivero'; - - /** - * {@inheritdoc} - */ - protected static $modules = [ - 'varbase_api', - 'node', - 'taxonomy', - 'media', - 'user', - 'block', - 'block_content', - ]; - - /** - * {@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(); - - } - - /** - * Check Enabled JSON:API Entity Operation links for Content Types. - */ - public function testCheckEnabledJsonApiEntityOperationsForContentTypes() { - - // Create an content admin user who can only manage content types. - $content_admin_user = $this->drupalCreateUser([ - 'view the administration theme', - 'access toolbar', - 'administer content types', - 'administer nodes', - 'administer node fields', - 'administer node display', - 'administer node form display', - 'access content overview', - ]); - $this->drupalLogin($content_admin_user); - - // When navigating to the Content Types page. - $this->drupalGet('admin/structure/types'); - - $content_types_text = $this->t('Content Types'); - $this->assertSession()->pageTextContains($content_types_text); - - $this->assertSession()->linkNotExists('View JSON'); - $this->assertSession()->linkNotExists('View API Docs'); - - // Create a Site Admin user. Who can View JSON and the View API Docs. - $site_admin_user = $this->drupalCreateUser([ - 'view the administration theme', - 'access toolbar', - 'administer content types', - 'administer nodes', - 'administer node fields', - 'administer node display', - 'administer node form display', - 'access content overview', - 'access view json entity operation', - 'access view api docs entity operation', - 'access openapi api docs', - ]); - $this->drupalLogin($site_admin_user); - - // When navigating to the Content Types page. - $this->drupalGet('admin/structure/types'); - - $content_types_text = $this->t('Content Types'); - $this->assertSession()->pageTextContains($content_types_text); - - // The user can see the "View JSON" and "View API Docs" entity oprations. - $this->assertSession()->linkExists('View JSON'); - $this->assertSession()->linkExists('View API Docs'); - - // Given that the root super user 1 was logged in to the site. - $this->drupalLogin($this->rootUser); - - // When navigating to the Content Types page. - $this->drupalGet('admin/structure/types'); - - $content_types_text = $this->t('Content Types'); - $this->assertSession()->pageTextContains($content_types_text); - - // The user can see the "View JSON" and "View API Docs" entity oprations. - $this->assertSession()->linkExists('View JSON'); - $this->assertSession()->linkExists('View API Docs'); - - } - - /** - * Check Enabled JSON:API Entity Operation links for media Types. - */ - public function testCheckEnabledJsonApiEntityOperationsForMediaTypes() { - - // Create an content admin user who can only manage media types. - $content_admin_user = $this->drupalCreateUser([ - 'view the administration theme', - 'access toolbar', - 'administer media types', - 'administer media', - 'administer media fields', - 'administer media display', - 'administer media form display', - 'access media overview', - ]); - $this->drupalLogin($content_admin_user); - - // When navigating to the Media types page. - $this->drupalGet('admin/structure/media'); - - $media_types_text = $this->t('Media types'); - $this->assertSession()->pageTextContains($media_types_text); - - $this->assertSession()->linkNotExists('View JSON'); - $this->assertSession()->linkNotExists('View API Docs'); - - // Create a Site Admin user. Who can View JSON and the View API Docs. - $site_admin_user = $this->drupalCreateUser([ - 'view the administration theme', - 'access toolbar', - 'administer media types', - 'administer media', - 'administer media fields', - 'administer media display', - 'administer media form display', - 'access media overview', - 'access view json entity operation', - 'access view api docs entity operation', - 'access openapi api docs', - ]); - $this->drupalLogin($site_admin_user); - - // When navigating to the Media types page. - $this->drupalGet('admin/structure/media'); - - $media_types_text = $this->t('Media types'); - $this->assertSession()->pageTextContains($media_types_text); - - // The user can see the "View JSON" and "View API Docs" entity oprations. - $this->assertSession()->linkExists('View JSON'); - $this->assertSession()->linkExists('View API Docs'); - - // Given that the root super user 1 was logged in to the site. - $this->drupalLogin($this->rootUser); - - // When navigating to the Media types page. - $this->drupalGet('admin/structure/media'); - - $media_types_text = $this->t('Media types'); - $this->assertSession()->pageTextContains($media_types_text); - - // The user can see the "View JSON" and "View API Docs" entity oprations. - $this->assertSession()->linkExists('View JSON'); - $this->assertSession()->linkExists('View API Docs'); - - } - - /** - * Check Enabled JSON:API Entity Operation links for Taxonomy. - */ - public function testCheckEnabledJsonApiEntityOperationsForTaxonomy() { - - // Create an content admin user who can only manage Taxonomies. - $content_admin_user = $this->drupalCreateUser([ - 'access administration pages', - 'view the administration theme', - 'access toolbar', - 'administer taxonomy', - 'access taxonomy overview', - ]); - $this->drupalLogin($content_admin_user); - - // When navigating to the Taxonomy page. - $this->drupalGet('admin/structure/taxonomy'); - - // Then should see "Taxonomy". - $taxonomy_text = $this->t('Taxonomy'); - $this->assertSession()->pageTextContains($taxonomy_text); - - $this->assertSession()->linkNotExists('View JSON'); - $this->assertSession()->linkNotExists('View API Docs'); - - // Create a Site Admin user. Who can View JSON and the View API Docs. - $site_admin_user = $this->drupalCreateUser([ - 'access administration pages', - 'view the administration theme', - 'access toolbar', - 'administer taxonomy', - 'access taxonomy overview', - 'access view json entity operation', - 'access view api docs entity operation', - 'access openapi api docs', - ]); - $this->drupalLogin($site_admin_user); - - // When navigating to the Taxonomy page. - $this->drupalGet('admin/structure/taxonomy'); - - // Then should see "Taxonomy". - $taxonomy_text = $this->t('Taxonomy'); - $this->assertSession()->pageTextContains($taxonomy_text); - - // The user can see the "View JSON" and "View API Docs" entity oprations. - $this->assertSession()->linkExists('View JSON'); - $this->assertSession()->linkExists('View API Docs'); - - // Given that the root super user 1 was logged in to the site. - $this->drupalLogin($this->rootUser); - - // When navigating to the Taxonomy page. - $this->drupalGet('admin/structure/taxonomy'); - - // Then should see "Taxonomy". - $taxonomy_text = $this->t('Taxonomy'); - $this->assertSession()->pageTextContains($taxonomy_text); - - // The user can see the "View JSON" and "View API Docs" entity oprations. - $this->assertSession()->linkExists('View JSON'); - $this->assertSession()->linkExists('View API Docs'); - - } - - /** - * Check Disabled JSON:API Entity Operation links for Block Types. - */ - public function testCheckDisabledJsonApiEntityOperationsForBlockTypes() { - - // Create an content admin user who can only manage block types. - $content_admin_user = $this->drupalCreateUser([ - 'access administration pages', - 'view the administration theme', - 'access toolbar', - 'administer blocks', - ]); - $this->drupalLogin($content_admin_user); - - // When navigating to the Block types page. - $this->drupalGet('admin/structure/block/block-content/types'); - - // Then should see "Custom block library". - $block_types_text = $this->t('Custom block library'); - $this->assertSession()->pageTextContains($block_types_text); - - $this->assertSession()->linkNotExists('View JSON'); - $this->assertSession()->linkNotExists('View API Docs'); - - // Create a Site Admin user. Who can View JSON and the View API Docs. - $site_admin_user = $this->drupalCreateUser([ - 'access administration pages', - 'view the administration theme', - 'access toolbar', - 'administer blocks', - 'access view json entity operation', - 'access view api docs entity operation', - 'access openapi api docs', - ]); - $this->drupalLogin($site_admin_user); - - // When navigating to the Block types page. - $this->drupalGet('admin/structure/block/block-content/types'); - - // Then should see "Custom block library". - $block_types_text = $this->t('Custom block library'); - $this->assertSession()->pageTextContains($block_types_text); - - // The user can see the "View JSON" and "View API Docs" entity oprations. - $this->assertSession()->linkNotExists('View JSON'); - $this->assertSession()->linkNotExists('View API Docs'); - - // Given that the root super user 1 was logged in to the site. - $this->drupalLogin($this->rootUser); - - // When navigating to the Block types page. - $this->drupalGet('admin/structure/block/block-content/types'); - - // Then should see "Custom block library". - $block_types_text = $this->t('Custom block library'); - $this->assertSession()->pageTextContains($block_types_text); - - // The user can see the "View JSON" and "View API Docs" entity oprations. - $this->assertSession()->linkNotExists('View JSON'); - $this->assertSession()->linkNotExists('View API Docs'); - - } - -} diff --git a/tests/src/FunctionalJavascript/VarbaseApiOpenApiDocsTest.php b/tests/src/FunctionalJavascript/VarbaseApiOpenApiDocsTest.php deleted file mode 100644 index a8c98cafe24e6c655fe00444b26d3374ea26381c..0000000000000000000000000000000000000000 --- a/tests/src/FunctionalJavascript/VarbaseApiOpenApiDocsTest.php +++ /dev/null @@ -1,170 +0,0 @@ -<?php - -namespace Drupal\Tests\varbase_api\FunctionalJavascript; - -use Drupal\FunctionalJavascriptTests\WebDriverTestBase; -use Drupal\Core\StringTranslation\StringTranslationTrait; - -/** - * Tests Varbase API OpenAPI Documentation test. - * - * @group varbase_api - */ -class VarbaseApiOpenApiDocsTest extends WebDriverTestBase { - - use StringTranslationTrait; - - /** - * {@inheritdoc} - */ - protected $profile = 'standard'; - - /** - * {@inheritdoc} - */ - protected $defaultTheme = 'olivero'; - - /** - * {@inheritdoc} - */ - protected static $modules = [ - 'varbase_api', - 'node', - 'taxonomy', - 'media', - 'user', - 'block', - 'block_content', - ]; - - /** - * {@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(); - - } - - /** - * Check OpenAPI Documentation using Explore With Swagger UI. - */ - public function testCheckOpenApiDocsExploreWithSwagger() { - - // Given that the root super user was logged in to the site. - $this->drupalLogin($this->rootUser); - - // OpenAPI Documentation. - $this->drupalGet('admin/config/services/openapi/swagger/jsonapi'); - - $page = $this->getSession()->getPage(); - - $page->waitFor(20, function () use ($page) { - return $page->find('css', "section.models.is-open"); - }); - - $openapi_doc_text = $this->t('OpenAPI Documentation'); - $this->assertSession()->pageTextContains($openapi_doc_text); - - // Content type. - $content_type_text = $this->t('Content type'); - $this->assertSession()->pageTextContains($content_type_text); - - // Content. - $content_text = $this->t('Content - Basic page'); - $this->assertSession()->pageTextContains($content_text); - - // Taxonomy vocabulary. - $taxonomy_vocabulary_text = $this->t('Taxonomy vocabulary'); - $this->assertSession()->pageTextContains($taxonomy_vocabulary_text); - - // Taxonomy term. - $taxonomy_term_text = $this->t('Taxonomy term - Tags'); - $this->assertSession()->pageTextContains($taxonomy_term_text); - - // Media type. - $media_type_text = $this->t('Media type'); - $this->assertSession()->pageTextContains($media_type_text); - - // Media - Image. - $media_image_text = $this->t('Media - Image'); - $this->assertSession()->pageTextContains($media_image_text); - - // Media - Video. - $media_video_text = $this->t('Media - Video'); - $this->assertSession()->pageTextContains($media_video_text); - - // Media - Remote video. - $media_remote_video_text = $this->t('Media - Remote video'); - $this->assertSession()->pageTextContains($media_remote_video_text); - - // Media - Audio. - $media_audio_text = $this->t('Media - Audio'); - $this->assertSession()->pageTextContains($media_audio_text); - - } - - /** - * Check OpenAPI Documentation using Explore With ReDoc. - */ - public function testCheckOpenApiDocsExploreWithReDoc() { - - // Given that the root super user was logged in to the site. - $this->drupalLogin($this->rootUser); - - // OpenAPI Documentation. - $this->drupalGet('admin/config/services/openapi/redoc/jsonapi'); - - $page = $this->getSession()->getPage(); - - $page->waitFor(20, function () use ($page) { - return $page->find('css', "redoc#redoc-ui"); - }); - - $openapi_doc_text = $this->t('OpenAPI Documentation'); - $this->assertSession()->pageTextContains($openapi_doc_text); - - // Content type. - $content_type_text = $this->t('Content type'); - $this->assertSession()->pageTextContains($content_type_text); - - // Content. - $content_text = $this->t('Content - Basic page'); - $this->assertSession()->pageTextContains($content_text); - - // Taxonomy vocabulary. - $taxonomy_vocabulary_text = $this->t('Taxonomy vocabulary'); - $this->assertSession()->pageTextContains($taxonomy_vocabulary_text); - - // Taxonomy term. - $taxonomy_term_text = $this->t('Taxonomy term - Tags'); - $this->assertSession()->pageTextContains($taxonomy_term_text); - - // Media type. - $media_type_text = $this->t('Media type'); - $this->assertSession()->pageTextContains($media_type_text); - - // Media - Image. - $media_image_text = $this->t('Media - Image'); - $this->assertSession()->pageTextContains($media_image_text); - - // Media - Video. - $media_video_text = $this->t('Media - Video'); - $this->assertSession()->pageTextContains($media_video_text); - - // Media - Remote video. - $media_remote_video_text = $this->t('Media - Remote video'); - $this->assertSession()->pageTextContains($media_remote_video_text); - - // Media - Audio. - $media_audio_text = $this->t('Media - Audio'); - $this->assertSession()->pageTextContains($media_audio_text); - - } - -} diff --git a/tests/src/FunctionalJavascript/VarbaseApiSettingsTest.php b/tests/src/FunctionalJavascript/VarbaseApiSettingsTest.php deleted file mode 100644 index 61fc3fbe219dd77e3aec740deae57cebd6152d89..0000000000000000000000000000000000000000 --- a/tests/src/FunctionalJavascript/VarbaseApiSettingsTest.php +++ /dev/null @@ -1,170 +0,0 @@ -<?php - -namespace Drupal\Tests\varbase_api\FunctionalJavascript; - -use Drupal\FunctionalJavascriptTests\WebDriverTestBase; -use Drupal\Core\StringTranslation\StringTranslationTrait; - -/** - * Tests Varbase API Settings test. - * - * @group varbase_api - */ -class VarbaseApiSettingsTest extends WebDriverTestBase { - - use StringTranslationTrait; - - /** - * {@inheritdoc} - */ - protected $profile = 'standard'; - - /** - * {@inheritdoc} - */ - protected $defaultTheme = 'olivero'; - - /** - * {@inheritdoc} - */ - protected static $modules = [ - 'varbase_api', - 'node', - 'taxonomy', - 'media', - 'user', - 'block', - 'block_content', - ]; - - /** - * {@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(); - - } - - /** - * Check Varbase API Settings. - */ - public function testCheckVarbaseApiSettings() { - - // Given that the root super user was logged in to the site. - $this->drupalLogin($this->rootUser); - - // Varbase API settings. - $this->drupalGet('admin/config/system/varbase/api'); - - $page = $this->getSession()->getPage(); - - $varbase_api_settings_text = $this->t('Varbase API settings'); - $this->assertSession()->pageTextContains($varbase_api_settings_text); - - $expose_view_json_text = $this->t('Expose a "View JSON" link in entity operations'); - $this->assertSession()->pageTextContains($expose_view_json_text); - $entity_json = $page->findField('entity_json'); - $this->assertNotEmpty($entity_json); - $this->assertTrue($entity_json->isChecked()); - - $expose_view_api_doc_text = $this->t('Expose a "View API Documentation" link in bundle entity operations'); - $this->assertSession()->pageTextContains($expose_view_api_doc_text); - $bundle_docs = $page->findField('bundle_docs'); - $this->assertNotEmpty($bundle_docs); - $this->assertTrue($bundle_docs->isChecked()); - - $auto_enable = $this->t('Auto Enabled JSON:API Endpoints for Entity Types'); - $this->assertSession()->pageTextContains($auto_enable); - - } - - /** - * Check Varbase API Generate keys. - */ - public function testCheckVarbaseApiGenerateKeys() { - - // Given that the root super user was logged in to the site. - $this->drupalLogin($this->rootUser); - - // Generate keys. - $this->drupalGet('admin/config/system/varbase/api/keys'); - - $generate_keys_text = $this->t('Generate keys'); - $this->assertSession()->pageTextContains($generate_keys_text); - - $destination_text = $this->t('Destination'); - $this->assertSession()->pageTextContains($destination_text); - - } - - /** - * Check Varbase API Auto Enabled JSON:API Endpoints for Entity Types. - */ - public function testCheckVarbaseApiAutoEnabledJsonApiEndpoints() { - - // Given that the root super user was logged in to the site. - $this->drupalLogin($this->rootUser); - - $this->drupalGet('admin/config/system/varbase/api'); - - $page = $this->getSession()->getPage(); - - // Content type is auto enabled. - $auto_enabled_entity_types_node_type = $page->findField('auto_enabled_entity_types[node_type]'); - $this->assertNotEmpty($auto_enabled_entity_types_node_type); - $this->assertTrue($auto_enabled_entity_types_node_type->isChecked()); - - // Content is auto enabled. - $auto_enabled_entity_types_node = $page->findField('auto_enabled_entity_types[node]'); - $this->assertNotEmpty($auto_enabled_entity_types_node); - $this->assertTrue($auto_enabled_entity_types_node->isChecked()); - - // Taxonomy vocabulary is auto enabled. - $auto_enabled_entity_types_taxonomy_vocabulary = $page->findField('auto_enabled_entity_types[taxonomy_vocabulary]'); - $this->assertNotEmpty($auto_enabled_entity_types_taxonomy_vocabulary); - $this->assertTrue($auto_enabled_entity_types_taxonomy_vocabulary->isChecked()); - - // Taxonomy term is auto enabled. - $auto_enabled_entity_types_taxonomy_term = $page->findField('auto_enabled_entity_types[taxonomy_term]'); - $this->assertNotEmpty($auto_enabled_entity_types_taxonomy_term); - $this->assertTrue($auto_enabled_entity_types_taxonomy_term->isChecked()); - - // Media type is auto enabled. - $auto_enabled_entity_types_media_type = $page->findField('auto_enabled_entity_types[media_type]'); - $this->assertNotEmpty($auto_enabled_entity_types_media_type); - $this->assertTrue($auto_enabled_entity_types_media_type->isChecked()); - - // Media is auto enabled. - $auto_enabled_entity_types_media = $page->findField('auto_enabled_entity_types[media]'); - $this->assertNotEmpty($auto_enabled_entity_types_media); - $this->assertTrue($auto_enabled_entity_types_media->isChecked()); - - // User is disabled. - $auto_enabled_entity_types_user = $page->findField('auto_enabled_entity_types[user]'); - $this->assertNotEmpty($auto_enabled_entity_types_user); - $this->assertFalse($auto_enabled_entity_types_user->isChecked()); - - // Block is disabled. - $auto_enabled_entity_types_block = $page->findField('auto_enabled_entity_types[block]'); - $this->assertNotEmpty($auto_enabled_entity_types_block); - $this->assertFalse($auto_enabled_entity_types_block->isChecked()); - - // Custom block type is disabled. - $auto_enabled_entity_types_block_content_type = $page->findField('auto_enabled_entity_types[block_content_type]'); - $this->assertNotEmpty($auto_enabled_entity_types_block_content_type); - $this->assertFalse($auto_enabled_entity_types_block_content_type->isChecked()); - - // Custom block is disabled. - $auto_enabled_entity_types_block_content = $page->findField('auto_enabled_entity_types[block_content]'); - $this->assertNotEmpty($auto_enabled_entity_types_block_content); - $this->assertFalse($auto_enabled_entity_types_block_content->isChecked()); - - } - -} diff --git a/varbase_api.info.yml b/varbase_api.info.yml index febb8410122cad238d6307a1a803f9c77c69192e..dc94e2f6991ee10a9002738d196174c82268ae71 100644 --- a/varbase_api.info.yml +++ b/varbase_api.info.yml @@ -3,7 +3,7 @@ description: "A JSON:API implementation with authentication and authorization th type: module package: Varbase configure: varbase_api.settings -core_version_requirement: ~9.5.0 || ~10.1.0 +core_version_requirement: ~9 dependencies: - drupal:jsonapi - openapi:openapi diff --git a/varbase_api.permissions.yml b/varbase_api.permissions.yml index 359fec4338b25162937304c3e9bbde24c114c7d8..986a24e2b6919f88153ded570d6a980e8fd8de29 100644 --- a/varbase_api.permissions.yml +++ b/varbase_api.permissions.yml @@ -1,6 +1,6 @@ administer varbase api settings: title: "Administer Varbase API settings" - description: "Access Varbase API settings and genrate keys page." + description: "Access Varbase API settings and generate keys page." access view json entity operation: title: "Access View JSON entity operation" description: "Access the View JSON entity operation" diff --git a/yarn.lock b/yarn.lock index a646d5b1b74e57e539a76656e6a169ed6e1b0f46..ce75a5628fd414d962b14b5f2b850744148b6f6b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8,9 +8,9 @@ integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== "@babel/runtime@^7.23.2": - version "7.23.2" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.2.tgz#062b0ac103261d68a966c4c7baf2ae3e62ec3885" - integrity sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg== + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.4.tgz#36fa1d2b36db873d25ec631dcc4923fdc1cf2e2e" + integrity sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg== dependencies: regenerator-runtime "^0.14.0" @@ -41,10 +41,10 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@8.53.0": - version "8.53.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.53.0.tgz#bea56f2ed2b5baea164348ff4d5a879f6f81f20d" - integrity sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w== +"@eslint/js@8.54.0": + version "8.54.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.54.0.tgz#4fab9a2ff7860082c304f750e94acd644cf984cf" + integrity sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ== "@humanwhocodes/config-array@^0.11.13": version "0.11.13" @@ -609,14 +609,14 @@ eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4 integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== eslint@^8.9.0: - version "8.53.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.53.0.tgz#14f2c8244298fcae1f46945459577413ba2697ce" - integrity sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag== + version "8.54.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.54.0.tgz#588e0dd4388af91a2e8fa37ea64924074c783537" + integrity sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.6.1" "@eslint/eslintrc" "^2.1.3" - "@eslint/js" "8.53.0" + "@eslint/js" "8.54.0" "@humanwhocodes/config-array" "^0.11.13" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" @@ -728,9 +728,9 @@ find-up@^5.0.0: path-exists "^4.0.0" flat-cache@^3.0.4: - version "3.1.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.1.1.tgz#a02a15fdec25a8f844ff7cc658f03dd99eb4609b" - integrity sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q== + version "3.2.0" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" + integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== dependencies: flatted "^3.2.9" keyv "^4.5.3" @@ -878,9 +878,9 @@ hasown@^2.0.0: function-bind "^1.1.2" ignore@^5.2.0: - version "5.2.4" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" - integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== + version "5.3.0" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.0.tgz#67418ae40d34d6999c95ff56016759c718c82f78" + integrity sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg== import-fresh@^3.2.1: version "3.3.0"