diff --git a/composer.json b/composer.json index 6dccc873e4f0fa875f40c3c3813b3a4f44b72120..dc90d9c919f36661021f79c93f21a18238c08121 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 abb1803cb2f43c8f8a9f5707c749f9db9ca4c0dd..05a5543f0062ef04766bd9d8364cb190f3f30ee2 100644 --- a/composer.lock +++ b/composer.lock @@ -4493,29 +4493,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 0c45e56b5e8a9f86efbdad3f39afadb6655ef793..ee124d45087d32dd2ff68a66ad5bc09564602c6f 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -4625,30 +4625,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 828e2f8e9a02acb29ad6d2864dcffd4f140d3b1d..83d7b51941c83633d3704080a03c8e5e67f286c3 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 a27058fe3a4faf9df14c0a538128f6fe87e8683b..45adff314447de5e24c4cf4c2c47c779202358fd 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 4f1c4360921397d0dc3825af337350b9afbc4d73..6ebcc19293fb1e89758a9354872c96b9c839c507 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 1a830993014a291dae718f7c196bebf625452a53..a8ff26a46f25d7dd37a82f1221b0eb4f8a538086 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 b1a6fca480342ee64f30784713726ff46cce282e..9b7b592a80b392e52302c47402b5945c7a998932 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 1a74df43ddf032115eb36c8b0da18955a98e6e75..28f9f3717db7eb7ced62883d3b8ed1390d8c0fd1 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 f97adba7828dd3bf52595768c00455cdf974826d..87258ef4b1b24100a0e42eefdd978a3cbd843190 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 841de729e94ac0a19baba15a0290cddb8b4688ee..601dd9b3996c7062ddcba21eb088567204042dab 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 6bccabba55799acff48cc6c6ca33838de8655f57..139c528efb337cce3d9f77c076487e8044805cea 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 f9599340527b9e7e558ce0b63347465db575809a..7470142067767245952cb165ce92bb64341dd29f 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 0000000000000000000000000000000000000000..1d2961193ccb94780e8949f4be45f40e3496acb9 --- /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 b959587870f04851274fa18e114bce19049f1d82..7910c2238c4385dae3c8ab781c0d1ffd9c705182 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 3b0ee1d0581ac6b34a61450177a9eef40a47279a..872b7a6ef63f040cc5e45f8c1ed7acc441e87f09 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 bc399cead430483ba66b8807e3a9013307b29d13..7d15fb3611d21c15dd85d4353a7b08d0eae2c89a 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 752aeaa30620cbed8caeddc05c626bbde0f910ea..34292d3d6faa590aa2ece006f7658474247722ba 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 43eb314a461fdf2e9abcb1335a620cb99e76925b..34acea6687bea60496b11e2127e8a9cb2449312d 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 39e857cfcf64cf9399001a756bf03048d9c55dfe..a310ab0cc47ffbcde8067883d866f81ba2ec5075 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 dab6dc9d0d1af1b0bc25a95b3a415bdf202d0691..a06b4e70268cdfd9799e0a69b166c7999b5de5f6 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 3955599c284f91af81cce1c849d436239353e27a..b6e6882347460c4f9ca5ab7e9482f955a72e5e7e 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 d0d417fdf515f90836218e88e835c4f53d0f3b0f..03411ec7a465b8698c454c89688117c851e8cd50 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 75698cc637c55764faea9f97026aaf5c29750aef..30ebf2f57d1eaf0e7633467fe2068ecd33410569 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 635ac0ec57554e11b8d8310acf31915797454139..0b3a416e1ce4c068cd725c842c0cc10985cd25ed 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 6f4c1a20551ec17544a8f35262bfebeb9ea610fc..acc2c87c00c1bb781f18b656d6a685cd5bbcf5bd 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 6780b8e07296c2644718421d9b1c33c984213626..b3880c7edb0560e2e69afdb2b6528911a396b1dc 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 f411c846c61fb5f02d1c039b4dd03dfc386cd943..45fb551f5043bc737a7fa667a7605bb9bec8292f 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 5103598d382df5ebf341548f64c222e16a5fa0f5..56d6688ea888f1a226f17be1de5c59ace2209d05 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 988e9b038ef102191baffefc03a8cbe50fa37962..017d2673c33182672bb29d067f78c9fc35e7f6fa 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 fa3a6bce5a3ba83fce957cd89510fb1d9dd97455..330ff04a0f9b36c9013aae23354af97bf941173d 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 a2ffbb4fd310e3c6ddd30bd2ddfb29af5c3c51f4..be26c1bae360eca167bc7d180d47a7de884bc880 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.'); } }