From dbd97161295487c7a5e3554b9a16fd47dad4ee1d Mon Sep 17 00:00:00 2001 From: Brian Canini <canini.16@osu.edu> Date: Mon, 15 Jun 2020 13:36:39 -0400 Subject: [PATCH] Updating drupal/entity_clone (1.0.0-beta3 => 1.0.0-beta4) --- composer.json | 2 +- composer.lock | 21 ++-- vendor/composer/installed.json | 21 ++-- .../entity_clone/entity_clone.info.yml | 10 +- web/modules/entity_clone/entity_clone.module | 3 + .../Config/ConfigEntityCloneFormBase.php | 10 +- .../Content/ContentEntityCloneFormBase.php | 10 +- .../EntityClone/Content/FileEntityClone.php | 3 +- .../src/EntityClonePermissions.php | 2 +- .../entity_clone/src/Form/EntityCloneForm.php | 8 +- .../src/Functional}/EntityCloneActionTest.php | 17 +++- .../src/Functional}/EntityCloneBlockTest.php | 16 +++- .../Functional}/EntityCloneCommentTest.php | 15 ++- .../src/Functional/EntityCloneContactTest.php | 96 +++++++++++++++++++ ...ntityCloneContentRecursiveCircularTest.php | 22 +++-- .../EntityCloneContentRecursiveTest.php | 20 ++-- .../Functional}/EntityCloneContentTest.php | 14 ++- .../EntityCloneCustomBlockTest.php | 17 +++- .../Functional}/EntityCloneDateFormatTest.php | 17 +++- .../EntityCloneEntityFormModeTest.php | 17 +++- .../EntityCloneEntityViewModeTest.php | 17 +++- .../src/Functional}/EntityCloneFileTest.php | 16 +++- .../EntityCloneFilterFormatTest.php | 17 +++- .../Functional}/EntityCloneImageStyleTest.php | 24 ++++- .../Functional}/EntityCloneLanguageTest.php | 17 +++- .../src/Functional}/EntityCloneMenuTest.php | 17 +++- .../EntityCloneResponsiveImageStyleTest.php | 17 +++- .../src/Functional}/EntityCloneRoleTest.php | 17 +++- .../Functional}/EntityCloneSearchPageTest.php | 17 +++- .../EntityCloneShortcutSetTest.php | 17 +++- .../src/Functional}/EntityCloneUserTest.php | 17 +++- .../src/Functional}/EntityCloneViewTest.php | 17 +++- 32 files changed, 402 insertions(+), 149 deletions(-) rename web/modules/entity_clone/{src/Tests => tests/src/Functional}/EntityCloneActionTest.php (82%) rename web/modules/entity_clone/{src/Tests => tests/src/Functional}/EntityCloneBlockTest.php (80%) rename web/modules/entity_clone/{src/Tests => tests/src/Functional}/EntityCloneCommentTest.php (80%) create mode 100644 web/modules/entity_clone/tests/src/Functional/EntityCloneContactTest.php rename web/modules/entity_clone/{src/Tests => tests/src/Functional}/EntityCloneContentRecursiveCircularTest.php (81%) rename web/modules/entity_clone/{src/Tests => tests/src/Functional}/EntityCloneContentRecursiveTest.php (81%) rename web/modules/entity_clone/{src/Tests => tests/src/Functional}/EntityCloneContentTest.php (80%) rename web/modules/entity_clone/{src/Tests => tests/src/Functional}/EntityCloneCustomBlockTest.php (75%) rename web/modules/entity_clone/{src/Tests => tests/src/Functional}/EntityCloneDateFormatTest.php (79%) rename web/modules/entity_clone/{src/Tests => tests/src/Functional}/EntityCloneEntityFormModeTest.php (76%) rename web/modules/entity_clone/{src/Tests => tests/src/Functional}/EntityCloneEntityViewModeTest.php (76%) rename web/modules/entity_clone/{src/Tests => tests/src/Functional}/EntityCloneFileTest.php (80%) rename web/modules/entity_clone/{src/Tests => tests/src/Functional}/EntityCloneFilterFormatTest.php (79%) rename web/modules/entity_clone/{src/Tests => tests/src/Functional}/EntityCloneImageStyleTest.php (66%) rename web/modules/entity_clone/{src/Tests => tests/src/Functional}/EntityCloneLanguageTest.php (77%) rename web/modules/entity_clone/{src/Tests => tests/src/Functional}/EntityCloneMenuTest.php (76%) rename web/modules/entity_clone/{src/Tests => tests/src/Functional}/EntityCloneResponsiveImageStyleTest.php (79%) rename web/modules/entity_clone/{src/Tests => tests/src/Functional}/EntityCloneRoleTest.php (78%) rename web/modules/entity_clone/{src/Tests => tests/src/Functional}/EntityCloneSearchPageTest.php (79%) rename web/modules/entity_clone/{src/Tests => tests/src/Functional}/EntityCloneShortcutSetTest.php (72%) rename web/modules/entity_clone/{src/Tests => tests/src/Functional}/EntityCloneUserTest.php (72%) rename web/modules/entity_clone/{src/Tests => tests/src/Functional}/EntityCloneViewTest.php (72%) diff --git a/composer.json b/composer.json index fcdc5f8e2e..f20c8fea6c 100644 --- a/composer.json +++ b/composer.json @@ -115,7 +115,7 @@ "drupal/embed": "1.0", "drupal/entity": "1.0-beta1", "drupal/entity_browser": "1.10", - "drupal/entity_clone": "1.0.0-beta3", + "drupal/entity_clone": "1.0.0-beta4", "drupal/entity_embed": "1.0-beta2", "drupal/entity_reference_revisions": "1.8", "drupal/externalauth": "1.1", diff --git a/composer.lock b/composer.lock index 6a9667cf32..6c20b157b0 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "f108b03d13affee27b523a0310a3f20f", + "content-hash": "ff3a75505a03ec50b7003889700d2cfd", "packages": [ { "name": "alchemy/zippy", @@ -4496,29 +4496,26 @@ }, { "name": "drupal/entity_clone", - "version": "1.0.0-beta3", + "version": "1.0.0-beta4", "source": { "type": "git", "url": "https://git.drupalcode.org/project/entity_clone.git", - "reference": "8.x-1.0-beta3" + "reference": "8.x-1.0-beta4" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/entity_clone-8.x-1.0-beta3.zip", - "reference": "8.x-1.0-beta3", - "shasum": "011ca7b8e2af77594f2d9df41954d5a950b0958c" + "url": "https://ftp.drupal.org/files/projects/entity_clone-8.x-1.0-beta4.zip", + "reference": "8.x-1.0-beta4", + "shasum": "4568ca25634d4ce4f142f56156259ba1f0d9f3c1" }, "require": { - "drupal/core": "~8.0" + "drupal/core": "^8 || ^9" }, "type": "drupal-module", "extra": { - "branch-alias": { - "dev-1.x": "1.x-dev" - }, "drupal": { - "version": "8.x-1.0-beta3", - "datestamp": "1551868984", + "version": "8.x-1.0-beta4", + "datestamp": "1588605099", "security-coverage": { "status": "not-covered", "message": "Beta releases are not covered by Drupal security advisories." diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index bcbbfd79f6..29304c918a 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -4628,30 +4628,27 @@ }, { "name": "drupal/entity_clone", - "version": "1.0.0-beta3", - "version_normalized": "1.0.0.0-beta3", + "version": "1.0.0-beta4", + "version_normalized": "1.0.0.0-beta4", "source": { "type": "git", "url": "https://git.drupalcode.org/project/entity_clone.git", - "reference": "8.x-1.0-beta3" + "reference": "8.x-1.0-beta4" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/entity_clone-8.x-1.0-beta3.zip", - "reference": "8.x-1.0-beta3", - "shasum": "011ca7b8e2af77594f2d9df41954d5a950b0958c" + "url": "https://ftp.drupal.org/files/projects/entity_clone-8.x-1.0-beta4.zip", + "reference": "8.x-1.0-beta4", + "shasum": "4568ca25634d4ce4f142f56156259ba1f0d9f3c1" }, "require": { - "drupal/core": "~8.0" + "drupal/core": "^8 || ^9" }, "type": "drupal-module", "extra": { - "branch-alias": { - "dev-1.x": "1.x-dev" - }, "drupal": { - "version": "8.x-1.0-beta3", - "datestamp": "1551868984", + "version": "8.x-1.0-beta4", + "datestamp": "1588605099", "security-coverage": { "status": "not-covered", "message": "Beta releases are not covered by Drupal security advisories." diff --git a/web/modules/entity_clone/entity_clone.info.yml b/web/modules/entity_clone/entity_clone.info.yml index 828e2f8e9a..83d7b51941 100644 --- a/web/modules/entity_clone/entity_clone.info.yml +++ b/web/modules/entity_clone/entity_clone.info.yml @@ -1,11 +1,11 @@ name: Entity Clone description: Add a clone action for all entities -# core: "8.x" +core: "8.x" +core_version_requirement: ^8 || ^9 type: module configure: entity_clone.settings -# Information added by Drupal.org packaging script on 2019-03-06 -version: '8.x-1.0-beta3' -core: '8.x' +# Information added by Drupal.org packaging script on 2020-05-04 +version: '8.x-1.0-beta4' project: 'entity_clone' -datestamp: 1551869001 +datestamp: 1588605101 diff --git a/web/modules/entity_clone/entity_clone.module b/web/modules/entity_clone/entity_clone.module index a27058fe3a..45adff3144 100644 --- a/web/modules/entity_clone/entity_clone.module +++ b/web/modules/entity_clone/entity_clone.module @@ -68,6 +68,9 @@ function entity_clone_entity_type_build(array &$entity_types) { 'taxonomy_term' => [ 'entity_clone' => TaxonomyTermEntityClone::class, ], + 'taxonomy_vocabulary' => [ + 'entity_clone' => ConfigWithFieldEntityClone::class, + ], ]; /** @var \Drupal\Core\Entity\EntityTypeInterface[] $entity_types */ diff --git a/web/modules/entity_clone/src/EntityClone/Config/ConfigEntityCloneFormBase.php b/web/modules/entity_clone/src/EntityClone/Config/ConfigEntityCloneFormBase.php index 4f1c436092..6ebcc19293 100644 --- a/web/modules/entity_clone/src/EntityClone/Config/ConfigEntityCloneFormBase.php +++ b/web/modules/entity_clone/src/EntityClone/Config/ConfigEntityCloneFormBase.php @@ -2,6 +2,7 @@ namespace Drupal\entity_clone\EntityClone\Config; +use Drupal\Core\Config\Entity\ConfigEntityStorage; use Drupal\Core\Entity\EntityHandlerInterface; use Drupal\Core\Entity\EntityInterface; use Drupal\Core\Entity\EntityTypeInterface; @@ -68,10 +69,17 @@ public function formElement(EntityInterface $entity, $parent = TRUE) { ]; } + // In common casse, config entities IDs are limited to 64 characters ... + $max_length = 64; + if ($entity->getEntityType()->getBundleOf()) { + // ... Except for bundle definition, that are limited to 32 characters. + $max_length = EntityTypeInterface::BUNDLE_MAX_LENGTH; + } + $form['id'] = [ '#type' => 'machine_name', '#title' => $this->translationManager->translate('New Id'), - '#maxlength' => 255, + '#maxlength' => $max_length, '#required' => TRUE, ]; diff --git a/web/modules/entity_clone/src/EntityClone/Content/ContentEntityCloneFormBase.php b/web/modules/entity_clone/src/EntityClone/Content/ContentEntityCloneFormBase.php index 1a83099301..a8ff26a46f 100644 --- a/web/modules/entity_clone/src/EntityClone/Content/ContentEntityCloneFormBase.php +++ b/web/modules/entity_clone/src/EntityClone/Content/ContentEntityCloneFormBase.php @@ -263,25 +263,25 @@ protected function getFormDescription(array $form, EntityInterface $entity) { if ($has_recursive && $elements_visible) { return $this->translationManager->translate(" <p>Specify the child entities (the entities referenced by this entity) that should also be cloned as part of - the cloning process. If they're not included, these fields' referenced entities will be the same as in the + the cloning process. If they're not included, these fields' referenced entities will be the same as in the original. In other words, fields in both the original entity and the cloned entity will refer to the same - referenced entity. Examples:</p> + referenced entity. Examples:</p> <p>If you have a Paragraph field in your entity, and you choose not to clone it here, deleting the original - or cloned entity will also delete the Paragraph field from the other one. So you probably want to clone + or cloned entity will also delete the Paragraph field from the other one. So you probably want to clone Paragraph fields.</p> <p>However, if you have a User reference field, you probably don't want to clone it here because a new User will be created for referencing by the clone.</p> - <p>Some options may be disabled here, preventing you from changing them, as set by your administrator. Some + <p>Some options may be disabled here, preventing you from changing them, as set by your administrator. Some options may also be missing, hidden by your administrator, forcing you to clone with the default settings. It's possible that there are no options here for you at all, or none need to be set, in which case you may simply hit the <em>Clone</em> button.</p> "); } else { - return $this->translationManager->translate("<p>Do you want to clone the <em>@type</em> entity named <em>@title</em></p>", [ + return $this->translationManager->translate("<p>Do you want to clone the <em>@type</em> entity named <em>@title</em>?</p>", [ "@type" => $entity->getEntityType()->getLabel(), "@title" => $entity->label(), ]); diff --git a/web/modules/entity_clone/src/EntityClone/Content/FileEntityClone.php b/web/modules/entity_clone/src/EntityClone/Content/FileEntityClone.php index b1a6fca480..9b7b592a80 100644 --- a/web/modules/entity_clone/src/EntityClone/Content/FileEntityClone.php +++ b/web/modules/entity_clone/src/EntityClone/Content/FileEntityClone.php @@ -3,6 +3,7 @@ namespace Drupal\entity_clone\EntityClone\Content; use Drupal\Core\Entity\EntityInterface; +use Drupal\Core\File\FileSystemInterface; /** * Class ContentEntityCloneBase. @@ -14,7 +15,7 @@ class FileEntityClone extends ContentEntityCloneBase { */ public function cloneEntity(EntityInterface $entity, EntityInterface $cloned_entity, array $properties = [], array &$already_cloned = []) { /** @var \Drupal\file\FileInterface $cloned_entity */ - $cloned_file = file_copy($cloned_entity, $cloned_entity->getFileUri(), FILE_EXISTS_RENAME); + $cloned_file = file_copy($cloned_entity, $cloned_entity->getFileUri(), FileSystemInterface::EXISTS_RENAME); return parent::cloneEntity($entity, $cloned_file, $properties); } diff --git a/web/modules/entity_clone/src/EntityClonePermissions.php b/web/modules/entity_clone/src/EntityClonePermissions.php index 1a74df43dd..28f9f3717d 100644 --- a/web/modules/entity_clone/src/EntityClonePermissions.php +++ b/web/modules/entity_clone/src/EntityClonePermissions.php @@ -59,7 +59,7 @@ public function permissions() { $permissions = []; foreach ($this->entityTypeManager->getDefinitions() as $entity_type_id => $entity_type) { - $permissions['clone ' . $entity_type_id . ' entity'] = $this->translationManager->translate('Clone all <em>@label</em> entities', [ + $permissions['clone ' . $entity_type_id . ' entity'] = $this->translationManager->translate('Clone all <em>@label</em> entities.', [ '@label' => $entity_type->getLabel(), ]); } diff --git a/web/modules/entity_clone/src/Form/EntityCloneForm.php b/web/modules/entity_clone/src/Form/EntityCloneForm.php index f97adba782..87258ef4b1 100644 --- a/web/modules/entity_clone/src/Form/EntityCloneForm.php +++ b/web/modules/entity_clone/src/Form/EntityCloneForm.php @@ -121,12 +121,14 @@ public function buildForm(array $form, FormStateInterface $form_state) { $form = array_merge($form, $entity_clone_form_handler->formElement($this->entity)); } - $form['clone'] = [ + $form['actions'] = ['#type' => 'actions']; + $form['actions']['clone'] = [ '#type' => 'submit', + '#button_type' => 'primary', '#value' => $this->stringTranslationManager->translate('Clone'), ]; - $form['abort'] = [ + $form['actions']['abort'] = [ '#type' => 'submit', '#value' => $this->stringTranslationManager->translate('Abort'), '#submit' => ['::cancelForm'], @@ -162,7 +164,7 @@ public function submitForm(array &$form, FormStateInterface $form_state) { $cloned_entity = $entity_clone_handler->cloneEntity($this->entity, $duplicate, $properties); $this->eventDispatcher->dispatch(EntityCloneEvents::POST_CLONE, new EntityCloneEvent($this->entity, $duplicate, $properties)); - $this->messenger->addMessage($this->stringTranslationManager->translate('The entity <em>@entity (@entity_id)</em> of type <em>@type</em> was cloned', [ + $this->messenger->addMessage($this->stringTranslationManager->translate('The entity <em>@entity (@entity_id)</em> of type <em>@type</em> was cloned.', [ '@entity' => $this->entity->label(), '@entity_id' => $this->entity->id(), '@type' => $this->entity->getEntityTypeId(), diff --git a/web/modules/entity_clone/src/Tests/EntityCloneActionTest.php b/web/modules/entity_clone/tests/src/Functional/EntityCloneActionTest.php similarity index 82% rename from web/modules/entity_clone/src/Tests/EntityCloneActionTest.php rename to web/modules/entity_clone/tests/src/Functional/EntityCloneActionTest.php index 841de729e9..601dd9b399 100644 --- a/web/modules/entity_clone/src/Tests/EntityCloneActionTest.php +++ b/web/modules/entity_clone/tests/src/Functional/EntityCloneActionTest.php @@ -1,15 +1,16 @@ <?php -namespace Drupal\entity_clone\Tests; +namespace Drupal\Tests\entity_clone\Functional; -use Drupal\simpletest\WebTestBase; +use Drupal\system\Entity\Action; +use Drupal\Tests\BrowserTestBase; /** * Create an action and test a clone. * * @group entity_clone */ -class EntityCloneActionTest extends WebTestBase { +class EntityCloneActionTest extends BrowserTestBase { /** * Modules to enable. @@ -18,6 +19,12 @@ class EntityCloneActionTest extends WebTestBase { */ public static $modules = ['entity_clone', 'action']; + /** + * Theme to enable by default + * @var string + */ + protected $defaultTheme = 'classy'; + /** * Permissions to grant admin user. * @@ -38,7 +45,7 @@ class EntityCloneActionTest extends WebTestBase { /** * Sets the test up. */ - protected function setUp() { + protected function setUp(): void { parent::setUp(); $this->adminUser = $this->drupalCreateUser($this->permissions); @@ -84,7 +91,7 @@ public function testActionEntityClone() { 'id' => $edit['id'], ]); $action = reset($actions); - $this->assertTrue($action, 'Test action cloned found in database.'); + $this->assertInstanceOf(Action::class, $action, 'Test action cloned found in database.'); } } diff --git a/web/modules/entity_clone/src/Tests/EntityCloneBlockTest.php b/web/modules/entity_clone/tests/src/Functional/EntityCloneBlockTest.php similarity index 80% rename from web/modules/entity_clone/src/Tests/EntityCloneBlockTest.php rename to web/modules/entity_clone/tests/src/Functional/EntityCloneBlockTest.php index 6bccabba55..139c528efb 100644 --- a/web/modules/entity_clone/src/Tests/EntityCloneBlockTest.php +++ b/web/modules/entity_clone/tests/src/Functional/EntityCloneBlockTest.php @@ -1,16 +1,16 @@ <?php -namespace Drupal\entity_clone\Tests; +namespace Drupal\Tests\entity_clone\Functional; use Drupal\block\Entity\Block; -use Drupal\simpletest\WebTestBase; +use Drupal\Tests\BrowserTestBase; /** * Create an block and test a clone. * * @group entity_clone */ -class EntityCloneBlockTest extends WebTestBase { +class EntityCloneBlockTest extends BrowserTestBase { /** * Modules to enable. @@ -19,6 +19,12 @@ class EntityCloneBlockTest extends WebTestBase { */ public static $modules = ['entity_clone', 'block']; + /** + * Theme to enable by default + * @var string + */ + protected $defaultTheme = 'classy'; + /** * Permissions to grant admin user. * @@ -39,7 +45,7 @@ class EntityCloneBlockTest extends WebTestBase { /** * Sets the test up. */ - protected function setUp() { + protected function setUp(): void { parent::setUp(); $this->adminUser = $this->drupalCreateUser($this->permissions); @@ -73,7 +79,7 @@ public function testBlockEntityClone() { 'id' => $edit['id'], ]); $block = reset($blocks); - $this->assertTrue($block, 'Test block cloned found in database.'); + $this->assertInstanceOf(Block::class, $block, 'Test block cloned found in database.'); } } diff --git a/web/modules/entity_clone/src/Tests/EntityCloneCommentTest.php b/web/modules/entity_clone/tests/src/Functional/EntityCloneCommentTest.php similarity index 80% rename from web/modules/entity_clone/src/Tests/EntityCloneCommentTest.php rename to web/modules/entity_clone/tests/src/Functional/EntityCloneCommentTest.php index f959934052..7470142067 100644 --- a/web/modules/entity_clone/src/Tests/EntityCloneCommentTest.php +++ b/web/modules/entity_clone/tests/src/Functional/EntityCloneCommentTest.php @@ -1,8 +1,9 @@ <?php -namespace Drupal\entity_clone\Tests; +namespace Drupal\Tests\entity_clone\Functional; -use Drupal\comment\Tests\CommentTestBase; +use Drupal\comment\Entity\Comment; +use Drupal\Tests\comment\Functional\CommentTestBase; use Drupal\comment\Tests\CommentTestTrait; /** @@ -29,6 +30,12 @@ class EntityCloneCommentTest extends CommentTestBase { 'datetime', ]; + /** + * Theme to enable by default + * @var string + */ + protected $defaultTheme = 'classy'; + /** * Permissions to grant admin user. * @@ -51,7 +58,7 @@ class EntityCloneCommentTest extends CommentTestBase { /** * Sets the test up. */ - protected function setUp() { + protected function setUp(): void { parent::setUp(); $this->adminUser = $this->drupalCreateUser($this->permissions); @@ -75,7 +82,7 @@ public function testCommentEntityClone() { 'comment_body' => $body, ]); $comments = reset($comments); - $this->assertTrue($comments, 'Test comment cloned found in database.'); + $this->assertInstanceOf(Comment::class, $comments, 'Test comment cloned found in database.'); } } diff --git a/web/modules/entity_clone/tests/src/Functional/EntityCloneContactTest.php b/web/modules/entity_clone/tests/src/Functional/EntityCloneContactTest.php new file mode 100644 index 0000000000..1d2961193c --- /dev/null +++ b/web/modules/entity_clone/tests/src/Functional/EntityCloneContactTest.php @@ -0,0 +1,96 @@ +<?php + +namespace Drupal\Tests\entity_clone\Functional; + +use Drupal\contact\Entity\ContactForm; +use Drupal\Tests\BrowserTestBase; + +/** + * Create an contact form and test a clone. + * + * @group entity_clone + */ +class EntityCloneContactTest extends BrowserTestBase { + + /** + * Modules to enable. + * + * @var array + */ + public static $modules = ['entity_clone', 'contact']; + + /** + * Theme to enable by default + * @var string + */ + protected $defaultTheme = 'classy'; + + /** + * Permissions to grant admin user. + * + * @var array + */ + protected $permissions = [ + 'administer contact forms', + 'clone contact_form entity', + ]; + + /** + * An administrative user with permission to configure contact forms settings. + * + * @var \Drupal\user\UserInterface + */ + protected $adminUser; + + /** + * Sets the test up. + */ + protected function setUp(): void { + parent::setUp(); + + $this->adminUser = $this->drupalCreateUser($this->permissions); + $this->drupalLogin($this->adminUser); + } + + /** + * Test contact form entity clone. + */ + public function testContactFormsEntityClone() { + + $edit = [ + 'label' => 'Test contact form for clone', + 'id' => 'test_contact_form_for_clone', + 'recipients' => 'test@recipient.com', + ]; + $this->drupalPostForm('admin/structure/contact/add', $edit, t('Save')); + + $contact_forms = \Drupal::entityTypeManager() + ->getStorage('contact_form') + ->loadByProperties([ + 'id' => $edit['id'], + ]); + $contact_form = reset($contact_forms); + + $edit = [ + 'label' => 'Test contact form cloned', + 'id' => 'test_contact_form_cloned', + ]; + $this->drupalPostForm('entity_clone/contact_form/' . $contact_form->id(), $edit, t('Clone')); + + $contact_forms = \Drupal::entityTypeManager() + ->getStorage('contact_form') + ->loadByProperties([ + 'id' => $edit['id'], + ]); + $contact_form = reset($contact_forms); + $this->assertInstanceOf(ContactForm::class, $contact_form, 'Test contact form cloned found in database.'); + + $edit = [ + 'id' => 'test_contact_form_clone_with_a_really_long_name_that_is_longer_than_the_bundle_max_length', + 'label' => 'Test contact form clone with a really long name that is longer than the bundle max length', + ]; + $this->drupalPostForm('entity_clone/contact_form/' . $contact_form->id(), $edit, t('Clone')); + $this->assertText('New Id cannot be longer than 32 characters'); + } + +} diff --git a/web/modules/entity_clone/src/Tests/EntityCloneContentRecursiveCircularTest.php b/web/modules/entity_clone/tests/src/Functional/EntityCloneContentRecursiveCircularTest.php similarity index 81% rename from web/modules/entity_clone/src/Tests/EntityCloneContentRecursiveCircularTest.php rename to web/modules/entity_clone/tests/src/Functional/EntityCloneContentRecursiveCircularTest.php index b959587870..7910c2238c 100644 --- a/web/modules/entity_clone/src/Tests/EntityCloneContentRecursiveCircularTest.php +++ b/web/modules/entity_clone/tests/src/Functional/EntityCloneContentRecursiveCircularTest.php @@ -1,9 +1,9 @@ <?php -namespace Drupal\entity_clone\Tests; +namespace Drupal\Tests\entity_clone\Functional; use Drupal\node\Entity\Node; -use Drupal\node\Tests\NodeTestBase; +use Drupal\Tests\node\Functional\NodeTestBase; use Drupal\Tests\field\Traits\EntityReferenceTestTrait; /** @@ -22,6 +22,12 @@ class EntityCloneContentRecursiveCircularTest extends NodeTestBase { */ public static $modules = ['entity_clone', 'block', 'node', 'datetime']; + /** + * Theme to enable by default + * @var string + */ + protected $defaultTheme = 'classy'; + /** * Profile to install. * @@ -50,7 +56,7 @@ class EntityCloneContentRecursiveCircularTest extends NodeTestBase { /** * Sets the test up. */ - protected function setUp() { + protected function setUp(): void { parent::setUp(); $this->drupalCreateContentType([ @@ -106,7 +112,7 @@ public function testContentEntityClone() { ]); /** @var \Drupal\node\Entity\Node $node1cloned */ $node1cloned = reset($nodes); - $this->assertTrue($node1cloned, 'Node 1 cloned found in database.'); + $this->assertInstanceOf(Node::class, $node1cloned, 'Node 1 cloned found in database.'); $nodes = \Drupal::entityTypeManager() ->getStorage('node') @@ -115,10 +121,10 @@ public function testContentEntityClone() { ]); /** @var \Drupal\node\Entity\Node $node2cloned */ $node2cloned = reset($nodes); - $this->assertTrue($node2cloned, 'Node 2 cloned found in database.'); + $this->assertInstanceOf(Node::class, $node2cloned, 'Node 2 cloned found in database.'); $reference = $node2cloned->get('test_field_reference')->first()->get('entity')->getTarget()->getValue(); - $this->assertEqual($node1cloned->id(), $reference->id(), "Node 1 reference, from circular reference, is correctly referenced."); + $this->assertEquals($node1cloned->id(), $reference->id(), "Node 1 reference, from circular reference, is correctly referenced."); $node1cloned->delete(); $node2cloned->delete(); @@ -129,7 +135,7 @@ public function testContentEntityClone() { 'title' => $node1_title, ]); $node = reset($nodes); - $this->assertTrue($node, 'Test original node 1 found in database.'); + $this->assertInstanceOf(Node::class, $node, 'Test original node 1 found in database.'); $nodes = \Drupal::entityTypeManager() ->getStorage('node') @@ -137,7 +143,7 @@ public function testContentEntityClone() { 'title' => $node2_title, ]); $node = reset($nodes); - $this->assertTrue($node, 'Test original node 2 found in database.'); + $this->assertInstanceOf(Node::class, $node, 'Test original node 2 found in database.'); } } diff --git a/web/modules/entity_clone/src/Tests/EntityCloneContentRecursiveTest.php b/web/modules/entity_clone/tests/src/Functional/EntityCloneContentRecursiveTest.php similarity index 81% rename from web/modules/entity_clone/src/Tests/EntityCloneContentRecursiveTest.php rename to web/modules/entity_clone/tests/src/Functional/EntityCloneContentRecursiveTest.php index 3b0ee1d058..872b7a6ef6 100644 --- a/web/modules/entity_clone/src/Tests/EntityCloneContentRecursiveTest.php +++ b/web/modules/entity_clone/tests/src/Functional/EntityCloneContentRecursiveTest.php @@ -1,9 +1,9 @@ <?php -namespace Drupal\entity_clone\Tests; +namespace Drupal\Tests\entity_clone\Functional; use Drupal\node\Entity\Node; -use Drupal\node\Tests\NodeTestBase; +use Drupal\Tests\node\Functional\NodeTestBase; use Drupal\taxonomy\Entity\Term; /** @@ -20,6 +20,12 @@ class EntityCloneContentRecursiveTest extends NodeTestBase { */ public static $modules = ['entity_clone', 'block', 'node', 'datetime']; + /** + * Theme to enable by default + * @var string + */ + protected $defaultTheme = 'classy'; + /** * Profile to install. * @@ -48,7 +54,7 @@ class EntityCloneContentRecursiveTest extends NodeTestBase { /** * Sets the test up. */ - protected function setUp() { + protected function setUp(): void { parent::setUp(); $this->adminUser = $this->drupalCreateUser($this->permissions); @@ -97,7 +103,7 @@ public function testContentEntityClone() { ]); /** @var \Drupal\node\Entity\Node $node */ $node = reset($nodes); - $this->assertTrue($node, 'Test node cloned found in database.'); + $this->assertInstanceOf(Node::class, $node, 'Test node cloned found in database.'); $terms = \Drupal::entityTypeManager() ->getStorage('taxonomy_term') @@ -106,7 +112,7 @@ public function testContentEntityClone() { ]); /** @var \Drupal\taxonomy\Entity\Term $term */ $term = reset($terms); - $this->assertTrue($term, 'Test term referenced by node cloned too found in database.'); + $this->assertInstanceOf(Term::class, $term, 'Test term referenced by node cloned too found in database.'); $node->delete(); $term->delete(); @@ -117,7 +123,7 @@ public function testContentEntityClone() { 'title' => $node_title, ]); $node = reset($nodes); - $this->assertTrue($node, 'Test original node found in database.'); + $this->assertInstanceOf(Node::class, $node, 'Test original node found in database.'); $terms = \Drupal::entityTypeManager() ->getStorage('taxonomy_term') @@ -125,7 +131,7 @@ public function testContentEntityClone() { 'name' => $term_title, ]); $term = reset($terms); - $this->assertTrue($term, 'Test original term found in database.'); + $this->assertInstanceOf(Term::class, $term, 'Test original term found in database.'); } } diff --git a/web/modules/entity_clone/src/Tests/EntityCloneContentTest.php b/web/modules/entity_clone/tests/src/Functional/EntityCloneContentTest.php similarity index 80% rename from web/modules/entity_clone/src/Tests/EntityCloneContentTest.php rename to web/modules/entity_clone/tests/src/Functional/EntityCloneContentTest.php index bc399cead4..7d15fb3611 100644 --- a/web/modules/entity_clone/src/Tests/EntityCloneContentTest.php +++ b/web/modules/entity_clone/tests/src/Functional/EntityCloneContentTest.php @@ -1,9 +1,9 @@ <?php -namespace Drupal\entity_clone\Tests; +namespace Drupal\Tests\entity_clone\Functional; use Drupal\node\Entity\Node; -use Drupal\node\Tests\NodeTestBase; +use Drupal\Tests\node\Functional\NodeTestBase; /** * Create a content and test a clone. @@ -19,6 +19,12 @@ class EntityCloneContentTest extends NodeTestBase { */ public static $modules = ['entity_clone', 'block', 'node', 'datetime']; + /** + * Theme to enable by default + * @var string + */ + protected $defaultTheme = 'classy'; + /** * Permissions to grant admin user. * @@ -40,7 +46,7 @@ class EntityCloneContentTest extends NodeTestBase { /** * Sets the test up. */ - protected function setUp() { + protected function setUp(): void { parent::setUp(); $this->adminUser = $this->drupalCreateUser($this->permissions); @@ -66,7 +72,7 @@ public function testContentEntityClone() { 'title' => $node_title . ' - Cloned', ]); $node = reset($nodes); - $this->assertTrue($node, 'Test node cloned found in database.'); + $this->assertInstanceOf(Node::class, $node, 'Test node cloned found in database.'); } } diff --git a/web/modules/entity_clone/src/Tests/EntityCloneCustomBlockTest.php b/web/modules/entity_clone/tests/src/Functional/EntityCloneCustomBlockTest.php similarity index 75% rename from web/modules/entity_clone/src/Tests/EntityCloneCustomBlockTest.php rename to web/modules/entity_clone/tests/src/Functional/EntityCloneCustomBlockTest.php index 752aeaa306..34292d3d6f 100644 --- a/web/modules/entity_clone/src/Tests/EntityCloneCustomBlockTest.php +++ b/web/modules/entity_clone/tests/src/Functional/EntityCloneCustomBlockTest.php @@ -1,8 +1,9 @@ <?php -namespace Drupal\entity_clone\Tests; +namespace Drupal\Tests\entity_clone\Functional; -use Drupal\block_content\Tests\BlockContentTestBase; +use Drupal\block_content\Entity\BlockContent; +use Drupal\Tests\block_content\Functional\BlockContentTestBase; /** * Creat ea block and test a clone. @@ -21,6 +22,12 @@ class EntityCloneCustomBlockTest extends BlockContentTestBase { */ public static $modules = ['entity_clone', 'block', 'block_content']; + /** + * Theme to enable by default + * @var string + */ + protected $defaultTheme = 'classy'; + /** * Permissions to grant admin user. * @@ -31,7 +38,7 @@ class EntityCloneCustomBlockTest extends BlockContentTestBase { /** * Sets the test up. */ - protected function setUp() { + protected function setUp(): void { parent::setUp(); $this->drupalLogin($this->adminUser); } @@ -52,7 +59,7 @@ public function testCustomBlockEntityClone() { 'info' => $edit['info[0][value]'], ]); $block = reset($blocks); - $this->assertTrue($block, 'Test Block for clone found in database.'); + $this->assertInstanceOf(BlockContent::class, $block, 'Test Block for clone found in database.'); $this->drupalPostForm('entity_clone/block_content/' . $block->id(), [], t('Clone')); @@ -63,7 +70,7 @@ public function testCustomBlockEntityClone() { 'body' => $edit['body[0][value]'], ]); $block = reset($blocks); - $this->assertTrue($block, 'Test Block cloned found in database.'); + $this->assertInstanceOf(BlockContent::class, $block, 'Test Block cloned found in database.'); } } diff --git a/web/modules/entity_clone/src/Tests/EntityCloneDateFormatTest.php b/web/modules/entity_clone/tests/src/Functional/EntityCloneDateFormatTest.php similarity index 79% rename from web/modules/entity_clone/src/Tests/EntityCloneDateFormatTest.php rename to web/modules/entity_clone/tests/src/Functional/EntityCloneDateFormatTest.php index 43eb314a46..34acea6687 100644 --- a/web/modules/entity_clone/src/Tests/EntityCloneDateFormatTest.php +++ b/web/modules/entity_clone/tests/src/Functional/EntityCloneDateFormatTest.php @@ -1,15 +1,16 @@ <?php -namespace Drupal\entity_clone\Tests; +namespace Drupal\Tests\entity_clone\Functional; -use Drupal\simpletest\WebTestBase; +use Drupal\Core\Datetime\Entity\DateFormat; +use Drupal\Tests\BrowserTestBase; /** * Create a date format and test a clone. * * @group entity_clone */ -class EntityCloneDateFormatTest extends WebTestBase { +class EntityCloneDateFormatTest extends BrowserTestBase { /** * Modules to enable. @@ -18,6 +19,12 @@ class EntityCloneDateFormatTest extends WebTestBase { */ public static $modules = ['entity_clone']; + /** + * Theme to enable by default + * @var string + */ + protected $defaultTheme = 'classy'; + /** * Permissions to grant admin user. * @@ -38,7 +45,7 @@ class EntityCloneDateFormatTest extends WebTestBase { /** * Sets the test up. */ - protected function setUp() { + protected function setUp(): void { parent::setUp(); $this->adminUser = $this->drupalCreateUser($this->permissions); @@ -75,7 +82,7 @@ public function testDateFormatEntityClone() { 'id' => $edit['id'], ]); $date_format = reset($date_formats); - $this->assertTrue($date_format, 'Test date format cloned found in database.'); + $this->assertInstanceOf(DateFormat::class, $date_format, 'Test date format cloned found in database.'); } } diff --git a/web/modules/entity_clone/src/Tests/EntityCloneEntityFormModeTest.php b/web/modules/entity_clone/tests/src/Functional/EntityCloneEntityFormModeTest.php similarity index 76% rename from web/modules/entity_clone/src/Tests/EntityCloneEntityFormModeTest.php rename to web/modules/entity_clone/tests/src/Functional/EntityCloneEntityFormModeTest.php index 39e857cfcf..a310ab0cc4 100644 --- a/web/modules/entity_clone/src/Tests/EntityCloneEntityFormModeTest.php +++ b/web/modules/entity_clone/tests/src/Functional/EntityCloneEntityFormModeTest.php @@ -1,15 +1,16 @@ <?php -namespace Drupal\entity_clone\Tests; +namespace Drupal\Tests\entity_clone\Functional; -use Drupal\simpletest\WebTestBase; +use Drupal\Core\Entity\Entity\EntityFormMode; +use Drupal\Tests\BrowserTestBase; /** * Test an entity form mode clone. * * @group entity_clone */ -class EntityCloneEntityFormModeTest extends WebTestBase { +class EntityCloneEntityFormModeTest extends BrowserTestBase { /** * Modules to enable. @@ -18,6 +19,12 @@ class EntityCloneEntityFormModeTest extends WebTestBase { */ public static $modules = ['entity_clone']; + /** + * Theme to enable by default + * @var string + */ + protected $defaultTheme = 'classy'; + /** * Permissions to grant admin user. * @@ -39,7 +46,7 @@ class EntityCloneEntityFormModeTest extends WebTestBase { /** * Sets the test up. */ - protected function setUp() { + protected function setUp(): void { parent::setUp(); $this->adminUser = $this->drupalCreateUser($this->permissions); @@ -69,7 +76,7 @@ public function testEntityFormModeEntityClone() { 'id' => 'user.' . $edit['id'], ]); $entity_form_mode = reset($entity_form_modes); - $this->assertTrue($entity_form_mode, 'Test entity form mode cloned found in database.'); + $this->assertInstanceOf(EntityFormMode::class, $entity_form_mode, 'Test entity form mode cloned found in database.'); } } diff --git a/web/modules/entity_clone/src/Tests/EntityCloneEntityViewModeTest.php b/web/modules/entity_clone/tests/src/Functional/EntityCloneEntityViewModeTest.php similarity index 76% rename from web/modules/entity_clone/src/Tests/EntityCloneEntityViewModeTest.php rename to web/modules/entity_clone/tests/src/Functional/EntityCloneEntityViewModeTest.php index dab6dc9d0d..a06b4e7026 100644 --- a/web/modules/entity_clone/src/Tests/EntityCloneEntityViewModeTest.php +++ b/web/modules/entity_clone/tests/src/Functional/EntityCloneEntityViewModeTest.php @@ -1,15 +1,16 @@ <?php -namespace Drupal\entity_clone\Tests; +namespace Drupal\Tests\entity_clone\Functional; -use Drupal\simpletest\WebTestBase; +use Drupal\Core\Entity\Entity\EntityViewMode; +use Drupal\Tests\BrowserTestBase; /** * Test an entity view mode clone. * * @group entity_clone */ -class EntityCloneEntityViewModeTest extends WebTestBase { +class EntityCloneEntityViewModeTest extends BrowserTestBase { /** * Modules to enable. @@ -18,6 +19,12 @@ class EntityCloneEntityViewModeTest extends WebTestBase { */ public static $modules = ['entity_clone']; + /** + * Theme to enable by default + * @var string + */ + protected $defaultTheme = 'classy'; + /** * Permissions to grant admin user. * @@ -39,7 +46,7 @@ class EntityCloneEntityViewModeTest extends WebTestBase { /** * Sets the test up. */ - protected function setUp() { + protected function setUp(): void { parent::setUp(); $this->adminUser = $this->drupalCreateUser($this->permissions); @@ -69,7 +76,7 @@ public function testEntityViewModeEntityClone() { 'id' => 'user.' . $edit['id'], ]); $entity_view_mode = reset($entity_view_modes); - $this->assertTrue($entity_view_mode, 'Test entity view mode cloned found in database.'); + $this->assertInstanceOf(EntityViewMode::class, $entity_view_mode, 'Test entity view mode cloned found in database.'); } } diff --git a/web/modules/entity_clone/src/Tests/EntityCloneFileTest.php b/web/modules/entity_clone/tests/src/Functional/EntityCloneFileTest.php similarity index 80% rename from web/modules/entity_clone/src/Tests/EntityCloneFileTest.php rename to web/modules/entity_clone/tests/src/Functional/EntityCloneFileTest.php index 3955599c28..b6e6882347 100644 --- a/web/modules/entity_clone/src/Tests/EntityCloneFileTest.php +++ b/web/modules/entity_clone/tests/src/Functional/EntityCloneFileTest.php @@ -1,16 +1,16 @@ <?php -namespace Drupal\entity_clone\Tests; +namespace Drupal\Tests\entity_clone\Functional; use Drupal\file\Entity\File; -use Drupal\simpletest\WebTestBase; +use Drupal\Tests\BrowserTestBase; /** * Create a filer and test a clone. * * @group entity_clone */ -class EntityCloneFileTest extends WebTestBase { +class EntityCloneFileTest extends BrowserTestBase { /** * Modules to enable. @@ -19,6 +19,12 @@ class EntityCloneFileTest extends WebTestBase { */ public static $modules = ['entity_clone', 'file']; + /** + * Theme to enable by default + * @var string + */ + protected $defaultTheme = 'classy'; + /** * Permissions to grant admin user. * @@ -38,7 +44,7 @@ class EntityCloneFileTest extends WebTestBase { /** * Sets the test up. */ - protected function setUp() { + protected function setUp(): void { parent::setUp(); $this->adminUser = $this->drupalCreateUser($this->permissions); @@ -68,7 +74,7 @@ public function testFileEntityClone() { 'filename' => 'druplicon.txt - Cloned', ]); $file = reset($files); - $this->assertTrue($file, 'Test file cloned found in database.'); + $this->assertInstanceOf(File::class, $file, 'Test file cloned found in database.'); $this->assertEqual($file->getFileUri(), 'public://druplicon_0.txt', 'The stored file is also cloned.'); } diff --git a/web/modules/entity_clone/src/Tests/EntityCloneFilterFormatTest.php b/web/modules/entity_clone/tests/src/Functional/EntityCloneFilterFormatTest.php similarity index 79% rename from web/modules/entity_clone/src/Tests/EntityCloneFilterFormatTest.php rename to web/modules/entity_clone/tests/src/Functional/EntityCloneFilterFormatTest.php index d0d417fdf5..03411ec7a4 100644 --- a/web/modules/entity_clone/src/Tests/EntityCloneFilterFormatTest.php +++ b/web/modules/entity_clone/tests/src/Functional/EntityCloneFilterFormatTest.php @@ -1,15 +1,16 @@ <?php -namespace Drupal\entity_clone\Tests; +namespace Drupal\Tests\entity_clone\Functional; -use Drupal\simpletest\WebTestBase; +use Drupal\filter\Entity\FilterFormat; +use Drupal\Tests\BrowserTestBase; /** * Create a filter format and test a clone. * * @group entity_clone */ -class EntityCloneFilterFormatTest extends WebTestBase { +class EntityCloneFilterFormatTest extends BrowserTestBase { /** * Modules to enable. @@ -18,6 +19,12 @@ class EntityCloneFilterFormatTest extends WebTestBase { */ public static $modules = ['entity_clone', 'filter']; + /** + * Theme to enable by default + * @var string + */ + protected $defaultTheme = 'classy'; + /** * Permissions to grant admin user. * @@ -40,7 +47,7 @@ class EntityCloneFilterFormatTest extends WebTestBase { /** * Sets the test up. */ - protected function setUp() { + protected function setUp(): void { parent::setUp(); $this->adminUser = $this->drupalCreateUser($this->permissions); @@ -76,7 +83,7 @@ public function testFilterFormatEntityClone() { 'format' => $edit['id'], ]); $filter_format = reset($filter_formats); - $this->assertTrue($filter_format, 'Test filter format cloned found in database.'); + $this->assertInstanceOf(FilterFormat::class, $filter_format, 'Test filter format cloned found in database.'); } } diff --git a/web/modules/entity_clone/src/Tests/EntityCloneImageStyleTest.php b/web/modules/entity_clone/tests/src/Functional/EntityCloneImageStyleTest.php similarity index 66% rename from web/modules/entity_clone/src/Tests/EntityCloneImageStyleTest.php rename to web/modules/entity_clone/tests/src/Functional/EntityCloneImageStyleTest.php index 75698cc637..30ebf2f57d 100644 --- a/web/modules/entity_clone/src/Tests/EntityCloneImageStyleTest.php +++ b/web/modules/entity_clone/tests/src/Functional/EntityCloneImageStyleTest.php @@ -1,15 +1,16 @@ <?php -namespace Drupal\entity_clone\Tests; +namespace Drupal\Tests\entity_clone\Functional; -use Drupal\simpletest\WebTestBase; +use Drupal\image\Entity\ImageStyle; +use Drupal\Tests\BrowserTestBase; /** * Create an image style and test a clone. * * @group entity_clone */ -class EntityCloneImageStyleTest extends WebTestBase { +class EntityCloneImageStyleTest extends BrowserTestBase { /** * Modules to enable. @@ -18,6 +19,12 @@ class EntityCloneImageStyleTest extends WebTestBase { */ public static $modules = ['entity_clone', 'image']; + /** + * Theme to enable by default + * @var string + */ + protected $defaultTheme = 'classy'; + /** * Permissions to grant admin user. * @@ -38,7 +45,7 @@ class EntityCloneImageStyleTest extends WebTestBase { /** * Sets the test up. */ - protected function setUp() { + protected function setUp(): void { parent::setUp(); $this->adminUser = $this->drupalCreateUser($this->permissions); @@ -74,7 +81,14 @@ public function testImageStyleEntityClone() { 'name' => $edit['id'], ]); $image_style = reset($image_styles); - $this->assertTrue($image_style, 'Test image style cloned found in database.'); + $this->assertInstanceOf(ImageStyle::class, $image_style, 'Test image style cloned found in database.'); + + $edit = [ + 'id' => 'test_image_style_clone_with_a_really_long_name_that_is_longer_than_the_max_length', + 'label' => 'Test image style clone with a really long name that is longer than the max length', + ]; + $this->drupalPostForm('entity_clone/image_style/' . $image_style->id(), $edit, t('Clone')); + $this->assertText('New Id cannot be longer than 64 characters'); } } diff --git a/web/modules/entity_clone/src/Tests/EntityCloneLanguageTest.php b/web/modules/entity_clone/tests/src/Functional/EntityCloneLanguageTest.php similarity index 77% rename from web/modules/entity_clone/src/Tests/EntityCloneLanguageTest.php rename to web/modules/entity_clone/tests/src/Functional/EntityCloneLanguageTest.php index 635ac0ec57..0b3a416e1c 100644 --- a/web/modules/entity_clone/src/Tests/EntityCloneLanguageTest.php +++ b/web/modules/entity_clone/tests/src/Functional/EntityCloneLanguageTest.php @@ -1,15 +1,16 @@ <?php -namespace Drupal\entity_clone\Tests; +namespace Drupal\Tests\entity_clone\Functional; -use Drupal\simpletest\WebTestBase; +use Drupal\language\Entity\ConfigurableLanguage; +use Drupal\Tests\BrowserTestBase; /** * Create an language and test a clone. * * @group entity_clone */ -class EntityCloneLanguageTest extends WebTestBase { +class EntityCloneLanguageTest extends BrowserTestBase { /** * Modules to enable. @@ -18,6 +19,12 @@ class EntityCloneLanguageTest extends WebTestBase { */ public static $modules = ['entity_clone', 'language']; + /** + * Theme to enable by default + * @var string + */ + protected $defaultTheme = 'classy'; + /** * Permissions to grant admin user. * @@ -38,7 +45,7 @@ class EntityCloneLanguageTest extends WebTestBase { /** * Sets the test up. */ - protected function setUp() { + protected function setUp(): void { parent::setUp(); $this->adminUser = $this->drupalCreateUser($this->permissions); @@ -73,7 +80,7 @@ public function testLanguageEntityClone() { 'id' => $edit['id'], ]); $language = reset($languages); - $this->assertTrue($language, 'Test language cloned found in database.'); + $this->assertInstanceOf(ConfigurableLanguage::class, $language, 'Test language cloned found in database.'); } } diff --git a/web/modules/entity_clone/src/Tests/EntityCloneMenuTest.php b/web/modules/entity_clone/tests/src/Functional/EntityCloneMenuTest.php similarity index 76% rename from web/modules/entity_clone/src/Tests/EntityCloneMenuTest.php rename to web/modules/entity_clone/tests/src/Functional/EntityCloneMenuTest.php index 6f4c1a2055..acc2c87c00 100644 --- a/web/modules/entity_clone/src/Tests/EntityCloneMenuTest.php +++ b/web/modules/entity_clone/tests/src/Functional/EntityCloneMenuTest.php @@ -1,15 +1,16 @@ <?php -namespace Drupal\entity_clone\Tests; +namespace Drupal\Tests\entity_clone\Functional; -use Drupal\simpletest\WebTestBase; +use Drupal\system\Entity\Menu; +use Drupal\Tests\BrowserTestBase; /** * Create a menu and test a clone. * * @group entity_clone */ -class EntityCloneMenuTest extends WebTestBase { +class EntityCloneMenuTest extends BrowserTestBase { /** * Modules to enable. @@ -18,6 +19,12 @@ class EntityCloneMenuTest extends WebTestBase { */ public static $modules = ['entity_clone', 'menu_ui']; + /** + * Theme to enable by default + * @var string + */ + protected $defaultTheme = 'classy'; + /** * Permissions to grant admin user. * @@ -38,7 +45,7 @@ class EntityCloneMenuTest extends WebTestBase { /** * Sets the test up. */ - protected function setUp() { + protected function setUp(): void { parent::setUp(); $this->adminUser = $this->drupalCreateUser($this->permissions); @@ -69,7 +76,7 @@ public function testMenuEntityClone() { 'id' => $edit['id'], ]); $menu = reset($menus); - $this->assertTrue($menu, 'Test menu cloned found in database.'); + $this->assertInstanceOf(Menu::class, $menu, 'Test menu cloned found in database.'); } } diff --git a/web/modules/entity_clone/src/Tests/EntityCloneResponsiveImageStyleTest.php b/web/modules/entity_clone/tests/src/Functional/EntityCloneResponsiveImageStyleTest.php similarity index 79% rename from web/modules/entity_clone/src/Tests/EntityCloneResponsiveImageStyleTest.php rename to web/modules/entity_clone/tests/src/Functional/EntityCloneResponsiveImageStyleTest.php index 6780b8e072..b3880c7edb 100644 --- a/web/modules/entity_clone/src/Tests/EntityCloneResponsiveImageStyleTest.php +++ b/web/modules/entity_clone/tests/src/Functional/EntityCloneResponsiveImageStyleTest.php @@ -1,15 +1,16 @@ <?php -namespace Drupal\entity_clone\Tests; +namespace Drupal\Tests\entity_clone\Functional; -use Drupal\simpletest\WebTestBase; +use Drupal\responsive_image\Entity\ResponsiveImageStyle; +use Drupal\Tests\BrowserTestBase; /** * Create a responsive image style and test a clone. * * @group entity_clone */ -class EntityCloneResponsiveImageStyleTest extends WebTestBase { +class EntityCloneResponsiveImageStyleTest extends BrowserTestBase { /** * Modules to enable. @@ -18,6 +19,12 @@ class EntityCloneResponsiveImageStyleTest extends WebTestBase { */ public static $modules = ['entity_clone', 'responsive_image']; + /** + * Theme to enable by default + * @var string + */ + protected $defaultTheme = 'classy'; + /** * Permissions to grant admin user. * @@ -38,7 +45,7 @@ class EntityCloneResponsiveImageStyleTest extends WebTestBase { /** * Sets the test up. */ - protected function setUp() { + protected function setUp(): void { parent::setUp(); $this->adminUser = $this->drupalCreateUser($this->permissions); @@ -76,7 +83,7 @@ public function testResponsiveImageStyleEntityClone() { 'id' => $edit['id'], ]); $responsive_image_style = reset($responsive_image_styles); - $this->assertTrue($responsive_image_style, 'Test responsive image style cloned found in database.'); + $this->assertInstanceOf(ResponsiveImageStyle::class, $responsive_image_style, 'Test responsive image style cloned found in database.'); } } diff --git a/web/modules/entity_clone/src/Tests/EntityCloneRoleTest.php b/web/modules/entity_clone/tests/src/Functional/EntityCloneRoleTest.php similarity index 78% rename from web/modules/entity_clone/src/Tests/EntityCloneRoleTest.php rename to web/modules/entity_clone/tests/src/Functional/EntityCloneRoleTest.php index f411c846c6..45fb551f50 100644 --- a/web/modules/entity_clone/src/Tests/EntityCloneRoleTest.php +++ b/web/modules/entity_clone/tests/src/Functional/EntityCloneRoleTest.php @@ -1,15 +1,16 @@ <?php -namespace Drupal\entity_clone\Tests; +namespace Drupal\Tests\entity_clone\Functional; -use Drupal\simpletest\WebTestBase; +use Drupal\Tests\BrowserTestBase; +use Drupal\user\Entity\Role; /** * Create a role and test a clone. * * @group entity_clone */ -class EntityCloneRoleTest extends WebTestBase { +class EntityCloneRoleTest extends BrowserTestBase { /** * Modules to enable. @@ -18,6 +19,12 @@ class EntityCloneRoleTest extends WebTestBase { */ public static $modules = ['entity_clone', 'user']; + /** + * Theme to enable by default + * @var string + */ + protected $defaultTheme = 'classy'; + /** * Permissions to grant admin user. * @@ -38,7 +45,7 @@ class EntityCloneRoleTest extends WebTestBase { /** * Sets the test up. */ - protected function setUp() { + protected function setUp(): void { parent::setUp(); $this->adminUser = $this->drupalCreateUser($this->permissions); @@ -74,7 +81,7 @@ public function testRoleEntityClone() { 'id' => $edit['id'], ]); $role = reset($roles); - $this->assertTrue($role, 'Test role cloned found in database.'); + $this->assertInstanceOf(Role::class, $role, 'Test role cloned found in database.'); } } diff --git a/web/modules/entity_clone/src/Tests/EntityCloneSearchPageTest.php b/web/modules/entity_clone/tests/src/Functional/EntityCloneSearchPageTest.php similarity index 79% rename from web/modules/entity_clone/src/Tests/EntityCloneSearchPageTest.php rename to web/modules/entity_clone/tests/src/Functional/EntityCloneSearchPageTest.php index 5103598d38..56d6688ea8 100644 --- a/web/modules/entity_clone/src/Tests/EntityCloneSearchPageTest.php +++ b/web/modules/entity_clone/tests/src/Functional/EntityCloneSearchPageTest.php @@ -1,15 +1,16 @@ <?php -namespace Drupal\entity_clone\Tests; +namespace Drupal\Tests\entity_clone\Functional; -use Drupal\simpletest\WebTestBase; +use Drupal\search\Entity\SearchPage; +use Drupal\Tests\BrowserTestBase; /** * Create a search page and test a clone. * * @group entity_clone */ -class EntityCloneSearchPageTest extends WebTestBase { +class EntityCloneSearchPageTest extends BrowserTestBase { /** * Modules to enable. @@ -18,6 +19,12 @@ class EntityCloneSearchPageTest extends WebTestBase { */ public static $modules = ['entity_clone', 'search', 'node']; + /** + * Theme to enable by default + * @var string + */ + protected $defaultTheme = 'classy'; + /** * Permissions to grant admin user. * @@ -38,7 +45,7 @@ class EntityCloneSearchPageTest extends WebTestBase { /** * Sets the test up. */ - protected function setUp() { + protected function setUp(): void { parent::setUp(); $this->adminUser = $this->drupalCreateUser($this->permissions); @@ -75,7 +82,7 @@ public function testSearchPageEntityClone() { 'id' => $edit['id'], ]); $search_page = reset($search_pages); - $this->assertTrue($search_page, 'Test search page cloned found in database.'); + $this->assertInstanceOf(SearchPage::class, $search_page, 'Test search page cloned found in database.'); } } diff --git a/web/modules/entity_clone/src/Tests/EntityCloneShortcutSetTest.php b/web/modules/entity_clone/tests/src/Functional/EntityCloneShortcutSetTest.php similarity index 72% rename from web/modules/entity_clone/src/Tests/EntityCloneShortcutSetTest.php rename to web/modules/entity_clone/tests/src/Functional/EntityCloneShortcutSetTest.php index 988e9b038e..017d2673c3 100644 --- a/web/modules/entity_clone/src/Tests/EntityCloneShortcutSetTest.php +++ b/web/modules/entity_clone/tests/src/Functional/EntityCloneShortcutSetTest.php @@ -1,15 +1,16 @@ <?php -namespace Drupal\entity_clone\Tests; +namespace Drupal\Tests\entity_clone\Functional; -use Drupal\simpletest\WebTestBase; +use Drupal\shortcut\Entity\ShortcutSet; +use Drupal\Tests\BrowserTestBase; /** * Create a shortcut set and test a clone. * * @group entity_clone */ -class EntityCloneShortcutSetTest extends WebTestBase { +class EntityCloneShortcutSetTest extends BrowserTestBase { /** * Modules to enable. @@ -18,6 +19,12 @@ class EntityCloneShortcutSetTest extends WebTestBase { */ public static $modules = ['entity_clone', 'shortcut']; + /** + * Theme to enable by default + * @var string + */ + protected $defaultTheme = 'classy'; + /** * Permissions to grant admin user. * @@ -37,7 +44,7 @@ class EntityCloneShortcutSetTest extends WebTestBase { /** * Sets the test up. */ - protected function setUp() { + protected function setUp(): void { parent::setUp(); $this->adminUser = $this->drupalCreateUser($this->permissions); @@ -60,7 +67,7 @@ public function testShortcutSetEntityClone() { 'id' => $edit['id'], ]); $shortcut_set = reset($shortcut_sets); - $this->assertTrue($shortcut_set, 'Test default shortcut set cloned found in database.'); + $this->assertInstanceOf(ShortcutSet::class, $shortcut_set, 'Test default shortcut set cloned found in database.'); } } diff --git a/web/modules/entity_clone/src/Tests/EntityCloneUserTest.php b/web/modules/entity_clone/tests/src/Functional/EntityCloneUserTest.php similarity index 72% rename from web/modules/entity_clone/src/Tests/EntityCloneUserTest.php rename to web/modules/entity_clone/tests/src/Functional/EntityCloneUserTest.php index fa3a6bce5a..330ff04a0f 100644 --- a/web/modules/entity_clone/src/Tests/EntityCloneUserTest.php +++ b/web/modules/entity_clone/tests/src/Functional/EntityCloneUserTest.php @@ -1,15 +1,16 @@ <?php -namespace Drupal\entity_clone\Tests; +namespace Drupal\Tests\entity_clone\Functional; -use Drupal\simpletest\WebTestBase; +use Drupal\Tests\BrowserTestBase; +use Drupal\user\Entity\User; /** * Create a user and test a clone. * * @group entity_clone */ -class EntityCloneUserTest extends WebTestBase { +class EntityCloneUserTest extends BrowserTestBase { /** * Modules to enable. @@ -18,6 +19,12 @@ class EntityCloneUserTest extends WebTestBase { */ public static $modules = ['entity_clone', 'user']; + /** + * Theme to enable by default + * @var string + */ + protected $defaultTheme = 'classy'; + /** * Permissions to grant admin user. * @@ -37,7 +44,7 @@ class EntityCloneUserTest extends WebTestBase { /** * Sets the test up. */ - protected function setUp() { + protected function setUp(): void { parent::setUp(); $this->adminUser = $this->drupalCreateUser($this->permissions, 'test_user'); @@ -56,7 +63,7 @@ public function testUserEntityClone() { 'name' => 'test_user_cloned', ]); $user = reset($users); - $this->assertTrue($user, 'Test user cloned found in database.'); + $this->assertInstanceOf(User::class, $user, 'Test user cloned found in database.'); } } diff --git a/web/modules/entity_clone/src/Tests/EntityCloneViewTest.php b/web/modules/entity_clone/tests/src/Functional/EntityCloneViewTest.php similarity index 72% rename from web/modules/entity_clone/src/Tests/EntityCloneViewTest.php rename to web/modules/entity_clone/tests/src/Functional/EntityCloneViewTest.php index a2ffbb4fd3..be26c1bae3 100644 --- a/web/modules/entity_clone/src/Tests/EntityCloneViewTest.php +++ b/web/modules/entity_clone/tests/src/Functional/EntityCloneViewTest.php @@ -1,15 +1,16 @@ <?php -namespace Drupal\entity_clone\Tests; +namespace Drupal\Tests\entity_clone\Functional; -use Drupal\simpletest\WebTestBase; +use Drupal\Tests\BrowserTestBase; +use Drupal\views\Entity\View; /** * Create a view and test a clone. * * @group entity_clone */ -class EntityCloneViewTest extends WebTestBase { +class EntityCloneViewTest extends BrowserTestBase { /** * Modules to enable. @@ -18,6 +19,12 @@ class EntityCloneViewTest extends WebTestBase { */ public static $modules = ['entity_clone', 'views']; + /** + * Theme to enable by default + * @var string + */ + protected $defaultTheme = 'classy'; + /** * Permissions to grant admin user. * @@ -37,7 +44,7 @@ class EntityCloneViewTest extends WebTestBase { /** * Sets the test up. */ - protected function setUp() { + protected function setUp(): void { parent::setUp(); $this->adminUser = $this->drupalCreateUser($this->permissions); @@ -60,7 +67,7 @@ public function testViewEntityClone() { 'id' => $edit['id'], ]); $view = reset($views); - $this->assertTrue($view, 'Test default view cloned found in database.'); + $this->assertInstanceOf(View::class, $view, 'Test default view cloned found in database.'); } } -- GitLab