diff --git a/composer.json b/composer.json
index 93e41472fc9d17439a28cd44865ffecc53406e21..cfec981461ace5df6043fa0b7d6abe1819552d2a 100644
--- a/composer.json
+++ b/composer.json
@@ -19,7 +19,8 @@
     "drupal/linkit": "5.0-beta13"
   },
   "require-dev": {
-    "drupal/webform":"^6.0"
+    "drupal/webform":"^6.0",
+    "iqual/reusable-drupal-tests": "1.x-dev"
   },
   "extra": {
     "patches": {
diff --git a/modules/pagedesigner_audio/tests/src/Kernel/HandlerTests/AudioHandlerTest.php b/modules/pagedesigner_audio/tests/src/Kernel/HandlerTests/AudioHandlerTest.php
index 8528b66af100be6fc33239d174e8fa7b31e09e01..d343f4c8a40b808c3476cb933f25ab476d2b6d2e 100644
--- a/modules/pagedesigner_audio/tests/src/Kernel/HandlerTests/AudioHandlerTest.php
+++ b/modules/pagedesigner_audio/tests/src/Kernel/HandlerTests/AudioHandlerTest.php
@@ -5,6 +5,8 @@ namespace Drupal\Tests\pagedesigner_audio\Kernel\HandlerTests;
 use Drupal\Tests\pagedesigner_media\Kernel\HandlerTests\MediaHandlerTestBase;
 use Drupal\media\Entity\Media;
 use Drupal\file\Entity\File;
+use iqual\ReusableDrupalTests\ReusableTestClassInterface;
+use iqual\ReusableDrupalTests\ReusableTestClassTrait;
 
 /**
  * Test the "audio" handler with a predefined entity defintion.
@@ -13,7 +15,19 @@ use Drupal\file\Entity\File;
  *
  * @group pagedesigner
  */
-class AudioHandlerTest extends MediaHandlerTestBase {
+class AudioHandlerTest extends MediaHandlerTestBase implements ReusableTestClassInterface {
+
+  // Default implementations for the ReusableTestClassInterface.
+  use ReusableTestClassTrait;
+
+  /**
+   * Enable the necessary modules for testing.
+   *
+   * @var array
+   */
+  protected static $modules = [
+    'pagedesigner_audio',
+  ];
 
   /**
    * Define the properties of the entity.
@@ -24,7 +38,7 @@ class AudioHandlerTest extends MediaHandlerTestBase {
     'type' => 'audio',
     'name' => 'audio',
     'langcode' => 'en',
-    'field_media' => ['target_id' => 1],
+    'field_media' => ['target_id' => 'PLACEHOLDER'],
   ];
 
   /**
@@ -36,16 +50,27 @@ class AudioHandlerTest extends MediaHandlerTestBase {
 
   /**
    * {@inheritdoc}
-   *
-   * @todo Add the pagedesigner editor config to the environment.
    */
   public function setUp() {
-    self::$modules[] = 'pagedesigner_audio';
-
     parent::setUp();
-
     $this->installConfig(['pagedesigner_audio']);
+    $this->instantiateTestClass();
+  }
 
+  /**
+   * Undocumented function
+   *
+   * @return void
+   */
+  public function instantiateTestClass() {
+    $this->generateTestContent();
+    $this->entityDefinition['field_media']['target_id'] = $this->media->id();
+  }
+
+  /**
+   *
+   */
+  public function generateTestContent() {
     // Create file entity.
     $this->file = File::create([
       'filename' => 'test.mp3',
@@ -61,7 +86,10 @@ class AudioHandlerTest extends MediaHandlerTestBase {
     ]);
     $this->media->save();
 
-    $this->entityDefinition['field_media']['target_id'] = $this->media->id();
+    $this->testEntities = [
+      $this->file,
+      $this->media,
+    ];
   }
 
   /**
diff --git a/modules/pagedesigner_block/src/Plugin/pagedesigner/Handler/Block.php b/modules/pagedesigner_block/src/Plugin/pagedesigner/Handler/Block.php
index ebce19fd40e4ccbeac257646722af255dec1263b..2ec1e277af0e97d6f0f872757f1256cba5d2b3d2 100644
--- a/modules/pagedesigner_block/src/Plugin/pagedesigner/Handler/Block.php
+++ b/modules/pagedesigner_block/src/Plugin/pagedesigner/Handler/Block.php
@@ -49,15 +49,19 @@ class Block extends HandlerPluginBase {
    * {@inheritdoc}
    */
   public function collectPatterns(array &$patterns) {
-    $blockIds = \Drupal::entityQuery('block')
-      ->condition('region', 'pagedesigner')
+    $activeTheme = \Drupal::service('theme.manager')
+      ->getActiveTheme()
+      ->getName();
+    $blockIdsQuery = \Drupal::entityQuery('block')
       ->condition(
         'theme',
-        \Drupal::service('theme.manager')
-          ->getActiveTheme()
-          ->getName()
-        )
-      ->execute();
+        $activeTheme
+      );
+    $regions = system_region_list($activeTheme);
+    if (isset($regions['pagedesigner'])) {
+      $blockIdsQuery->condition('region', 'pagedesigner');
+    }
+    $blockIds = $blockIdsQuery->execute();
     foreach ($blockIds as $blockId) {
       $definition = $this->definition;
       $id = $definition['id'] . $blockId;
diff --git a/modules/pagedesigner_block/tests/src/Kernel/HandlerTests/BlockHandlerTest.php b/modules/pagedesigner_block/tests/src/Kernel/HandlerTests/BlockHandlerTest.php
index 356cecd8c2ab6280a6328e0bad67cba35de7d82f..9f0c66c45fa8c5b483f8a7b4a642fcf8c31404d5 100644
--- a/modules/pagedesigner_block/tests/src/Kernel/HandlerTests/BlockHandlerTest.php
+++ b/modules/pagedesigner_block/tests/src/Kernel/HandlerTests/BlockHandlerTest.php
@@ -4,6 +4,8 @@ namespace Drupal\Tests\pagedesigner_block\Kernel\HandlerTests;
 
 use Drupal\Tests\pagedesigner\Kernel\HandlerTests\CompoundHandlerTestBase;
 use Drupal\block\Entity\Block;
+use iqual\ReusableDrupalTests\ReusableTestClassInterface;
+use iqual\ReusableDrupalTests\ReusableTestClassTrait;
 
 /**
  * Test the "block" handler with a predefined entity defintion.
@@ -12,7 +14,21 @@ use Drupal\block\Entity\Block;
  *
  * @group pagedesigner
  */
-class BlockHandlerTest extends CompoundHandlerTestBase {
+class BlockHandlerTest extends CompoundHandlerTestBase implements ReusableTestClassInterface {
+
+  // Default implementations for the ReusableTestClassInterface.
+  use ReusableTestClassTrait;
+
+  /**
+   * Enable the necessary modules for testing.
+   *
+   * @var array
+   */
+  protected static $modules = [
+    'block',
+    'system',
+    'pagedesigner_block',
+  ];
 
   /**
    * Define the properties of the entity.
@@ -35,34 +51,30 @@ class BlockHandlerTest extends CompoundHandlerTestBase {
 
   /**
    * {@inheritdoc}
-   *
-   * @todo Add the pagedesigner editor config to the environment.
    */
   public function setUp() {
-    self::$modules[] = 'system';
-    self::$modules[] = 'block';
-    self::$modules[] = 'pagedesigner_block';
     parent::setUp();
+    $this->installConfig(['pagedesigner_block']);
+    $this->instantiateTestClass();
+  }
 
-    // Enable the stark theme and set it as default.
-    \Drupal::service('theme_installer')
-      ->install([
-        'stark',
-      ], FALSE);
-    \Drupal::configFactory()
-      ->getEditable('system.theme')
-      ->set('default', 'stark')
-      ->save();
-
+  /**
+   * Undocumented function
+   *
+   * @return void
+   */
+  public function instantiateTestClass() {
     // Add a block to the pagedesigner region.
+    $this->entityDefinition['field_block']['target_id'] .= rand();
     Block::create(
       [
         'id' => $this->entityDefinition['field_block']['target_id'],
         'plugin' => 'system_powered_by_block',
         'region' => 'pagedesigner',
-        'theme' => 'stark',
+        'theme' => \Drupal::service('theme.manager')->getActiveTheme()->getName(),
       ]
     )->save();
+    $this->testEntities[] = Block::load($this->entityDefinition['field_block']['target_id']);
   }
 
   /**
@@ -128,4 +140,5 @@ class BlockHandlerTest extends CompoundHandlerTestBase {
   protected function renderForEditTest() {
     // $build = parent::renderTest();
   }
+
 }
diff --git a/modules/pagedesigner_document/tests/src/Kernel/HandlerTests/DocumentHandlerTest.php b/modules/pagedesigner_document/tests/src/Kernel/HandlerTests/DocumentHandlerTest.php
index b73027eb453bb8834fcdb3e03afdde7cb6b6899e..3b60b1559c30a1fd89b3e0874d945f46d8db0665 100644
--- a/modules/pagedesigner_document/tests/src/Kernel/HandlerTests/DocumentHandlerTest.php
+++ b/modules/pagedesigner_document/tests/src/Kernel/HandlerTests/DocumentHandlerTest.php
@@ -5,6 +5,8 @@ namespace Drupal\Tests\pagedesigner_document\Kernel\HandlerTests;
 use Drupal\Tests\pagedesigner_media\Kernel\HandlerTests\MediaHandlerTestBase;
 use Drupal\media\Entity\Media;
 use Drupal\file\Entity\File;
+use iqual\ReusableDrupalTests\ReusableTestClassInterface;
+use iqual\ReusableDrupalTests\ReusableTestClassTrait;
 
 /**
  * Test the "document" handler with a predefined entity defintion.
@@ -13,7 +15,19 @@ use Drupal\file\Entity\File;
  *
  * @group pagedesigner
  */
-class DocumentHandlerTest extends MediaHandlerTestBase {
+class DocumentHandlerTest extends MediaHandlerTestBase implements ReusableTestClassInterface {
+
+  // Default implementations for the ReusableTestClassInterface.
+  use ReusableTestClassTrait;
+
+  /**
+   * Enable the necessary modules for testing.
+   *
+   * @var array
+   */
+  protected static $modules = [
+    'pagedesigner_document',
+  ];
 
   /**
    * Define the properties of the entity.
@@ -24,7 +38,7 @@ class DocumentHandlerTest extends MediaHandlerTestBase {
     'type' => 'document',
     'name' => 'document',
     'langcode' => 'en',
-    'field_media' => ['target_id' => 1],
+    'field_media' => ['target_id' => 'PLACEHOLDER'],
   ];
 
   /**
@@ -36,16 +50,19 @@ class DocumentHandlerTest extends MediaHandlerTestBase {
 
   /**
    * {@inheritdoc}
-   *
-   * @todo Add the pagedesigner editor config to the environment.
    */
   public function setUp() {
-    self::$modules[] = 'pagedesigner_document';
-
     parent::setUp();
-
     $this->installConfig(['pagedesigner_document']);
+    $this->instantiateTestClass();
+  }
 
+  /**
+   * Undocumented function
+   *
+   * @return void
+   */
+  public function instantiateTestClass() {
     // Create file entity.
     $this->file = File::create([
       'filename' => 'test.mp3',
@@ -53,6 +70,7 @@ class DocumentHandlerTest extends MediaHandlerTestBase {
       'status' => 1,
     ]);
     $this->file->save();
+    $this->testEntities[] = $this->file;
 
     // Create media entity.
     $this->media = Media::create([
@@ -60,8 +78,8 @@ class DocumentHandlerTest extends MediaHandlerTestBase {
       'field_media_file' => ['entity' => $this->file],
     ]);
     $this->media->save();
-
     $this->entityDefinition['field_media']['target_id'] = $this->media->id();
+    $this->testEntities[] = $this->media;
   }
 
   /**
diff --git a/modules/pagedesigner_embed/tests/src/Kernel/HandlerTests/EmbedHandlerTest.php b/modules/pagedesigner_embed/tests/src/Kernel/HandlerTests/EmbedHandlerTest.php
index 8ad78f1ac593188c81f2a140ea004d988126e961..8e5a83b0269d0f3862dfb98e9616e6aaa0b13ec7 100644
--- a/modules/pagedesigner_embed/tests/src/Kernel/HandlerTests/EmbedHandlerTest.php
+++ b/modules/pagedesigner_embed/tests/src/Kernel/HandlerTests/EmbedHandlerTest.php
@@ -4,6 +4,8 @@ namespace Drupal\Tests\pagedesigner_embed\Kernel\HandlerTests;
 
 use Drupal\Tests\pagedesigner_media\Kernel\HandlerTests\MediaHandlerTestBase;
 use Drupal\media\Entity\Media;
+use iqual\ReusableDrupalTests\ReusableTestClassInterface;
+use iqual\ReusableDrupalTests\ReusableTestClassTrait;
 
 /**
  * Test the "embed" handler with a predefined entity defintion.
@@ -13,7 +15,10 @@ use Drupal\media\Entity\Media;
  * @group pagedesigner
  * @requires module video_embed_field
  */
-class EmbedHandlerTest extends MediaHandlerTestBase {
+class EmbedHandlerTest extends MediaHandlerTestBase implements ReusableTestClassInterface {
+
+  // Default implementations for the ReusableTestClassInterface.
+  use ReusableTestClassTrait;
 
   /**
    * Define the properties of the entity.
@@ -24,7 +29,7 @@ class EmbedHandlerTest extends MediaHandlerTestBase {
     'type' => 'embed',
     'name' => 'embed',
     'langcode' => 'en',
-    'field_media' => ['target_id' => 1],
+    'field_media' => ['target_id' => 'PLACEHOLDER'],
   ];
 
   /**
@@ -42,19 +47,31 @@ class EmbedHandlerTest extends MediaHandlerTestBase {
   protected $testUrl = 'https://www.youtube.com/watch?v=3p4MZJsexEs';
 
   /**
-   * {@inheritdoc}
+   * Enable the necessary modules for testing.
    *
-   * @todo Add the pagedesigner editor config to the environment.
+   * @var array
    */
-  public function setUp() {
-    self::$modules[] = 'video_embed_field';
-    self::$modules[] = 'video_embed_media';
-    self::$modules[] = 'pagedesigner_embed';
+  protected static $modules = [
+    'pagedesigner_embed',
+    'video_embed_field',
+    'video_embed_media',
+  ];
 
+  /**
+   * {@inheritdoc}
+   */
+  public function setUp() {
     parent::setUp();
-
     $this->installConfig(['pagedesigner_embed']);
+    $this->instantiateTestClass();
+  }
 
+  /**
+   * Undocumented function
+   *
+   * @return void
+   */
+  public function instantiateTestClass() {
     // Create media entity.
     $this->media = Media::create([
       'bundle' => $this->entityDefinition['type'],
@@ -62,6 +79,8 @@ class EmbedHandlerTest extends MediaHandlerTestBase {
     ]);
     $this->media->save();
     $this->entityDefinition['field_media']['target_id'] = $this->media->id();
+
+    $this->testEntities[] = $this->media;
   }
 
   /**
diff --git a/modules/pagedesigner_image/tests/src/Kernel/HandlerTests/ImageHandlerTest.php b/modules/pagedesigner_image/tests/src/Kernel/HandlerTests/ImageHandlerTest.php
index a2f4c5fcf12cb2da6bb1d161eb91cc9b1a0fa6fe..a61cb05f69a414e12e0324572ccdc3df6d137001 100644
--- a/modules/pagedesigner_image/tests/src/Kernel/HandlerTests/ImageHandlerTest.php
+++ b/modules/pagedesigner_image/tests/src/Kernel/HandlerTests/ImageHandlerTest.php
@@ -5,6 +5,8 @@ namespace Drupal\Tests\pagedesigner_image\Kernel\HandlerTests;
 use Drupal\Tests\pagedesigner_media\Kernel\HandlerTests\MediaHandlerTestBase;
 use Drupal\media\Entity\Media;
 use Drupal\file\Entity\File;
+use iqual\ReusableDrupalTests\ReusableTestClassInterface;
+use iqual\ReusableDrupalTests\ReusableTestClassTrait;
 
 /**
  * Test the "image" handler with a predefined entity defintion.
@@ -13,7 +15,10 @@ use Drupal\file\Entity\File;
  *
  * @group pagedesigner
  */
-class ImageHandlerTest extends MediaHandlerTestBase {
+class ImageHandlerTest extends MediaHandlerTestBase implements ReusableTestClassInterface {
+
+  // Default implementations for the ReusableTestClassInterface.
+  use ReusableTestClassTrait;
 
   /**
    * Define the properties of the entity.
@@ -24,7 +29,7 @@ class ImageHandlerTest extends MediaHandlerTestBase {
     'type' => 'image',
     'name' => 'image',
     'langcode' => 'en',
-    'field_media' => ['target_id' => 1],
+    'field_media' => ['target_id' => 'PLACEHOLDER'],
   ];
 
   /**
@@ -35,17 +40,29 @@ class ImageHandlerTest extends MediaHandlerTestBase {
   protected $handlerId = 'image';
 
   /**
-   * {@inheritdoc}
+   * Enable the necessary modules for testing.
    *
-   * @todo Add the pagedesigner editor config to the environment.
+   * @var array
    */
-  public function setUp() {
-    self::$modules[] = 'pagedesigner_image';
+  protected static $modules = [
+    'pagedesigner_image',
+  ];
 
+  /**
+   * {@inheritdoc}
+   */
+  public function setUp() {
     parent::setUp();
-
     $this->installConfig(['pagedesigner_image']);
+    $this->instantiateTestClass();
+  }
 
+  /**
+   * Undocumented function
+   *
+   * @return void
+   */
+  public function instantiateTestClass() {
     // Create file entity.
     $this->file = File::create([
       'filename' => 'test.jpg',
@@ -53,6 +70,7 @@ class ImageHandlerTest extends MediaHandlerTestBase {
       'status' => 1,
     ]);
     $this->file->save();
+    $this->testEntities[] = $this->file;
 
     // Create media entity.
     $this->media = Media::create([
@@ -60,8 +78,8 @@ class ImageHandlerTest extends MediaHandlerTestBase {
       'field_media_image' => ['entity' => $this->file],
     ]);
     $this->media->save();
-
     $this->entityDefinition['field_media']['target_id'] = $this->media->id();
+    $this->testEntities[] = $this->media;
   }
 
   /**
@@ -116,6 +134,7 @@ class ImageHandlerTest extends MediaHandlerTestBase {
       ->load('pagedesigner_default');
     if ($style != NULL) {
       $url = $style->buildUrl($this->file->getFileUri());
+      $uri = $style->buildUri($this->file->getFileUri());
     }
     $this->assertTrue($build['#plain_text'] == $url);
     return $build;
diff --git a/modules/pagedesigner_link/tests/src/Kernel/HandlerTests/LinkHandlerTest.php b/modules/pagedesigner_link/tests/src/Kernel/HandlerTests/LinkHandlerTest.php
index 71e26d4d376734f61d0465b2f1a1798f7eb9aa53..0f8019d3b7469a0aa805647a2866f978fa2f0198 100644
--- a/modules/pagedesigner_link/tests/src/Kernel/HandlerTests/LinkHandlerTest.php
+++ b/modules/pagedesigner_link/tests/src/Kernel/HandlerTests/LinkHandlerTest.php
@@ -2,8 +2,12 @@
 
 namespace Drupal\Tests\pagedesigner_link\Kernel\HandlerTests;
 
+use Drupal\Core\Language\LanguageInterface;
 use Drupal\Tests\pagedesigner\Kernel\HandlerTests\PlainFieldHandlerTestBase;
 use Drupal\node\Entity\Node;
+use Drupal\node\Entity\NodeType;
+use iqual\ReusableDrupalTests\ReusableTestClassInterface;
+use iqual\ReusableDrupalTests\ReusableTestClassTrait;
 
 /**
  * Test the "link" handler with a predefined entity defintion.
@@ -12,7 +16,17 @@ use Drupal\node\Entity\Node;
  *
  * @group pagedesigner
  */
-class LinkHandlerTest extends PlainFieldHandlerTestBase {
+class LinkHandlerTest extends PlainFieldHandlerTestBase implements ReusableTestClassInterface {
+
+  // Default implementations for the ReusableTestClassInterface.
+  use ReusableTestClassTrait;
+
+  /**
+   * The node entity for the test.
+   *
+   * @var Drupal\node\Entity\Node
+   */
+  protected $node = NULL;
 
   /**
    * Define the properties of the entity.
@@ -38,21 +52,43 @@ class LinkHandlerTest extends PlainFieldHandlerTestBase {
   protected $handlerId = 'link';
 
   /**
-   * {@inheritdoc}
+   * Enable the necessary modules for testing.
+   *
+   * @var array
+   */
+  protected static $modules = [
+    'pagedesigner_link',
+    'system',
+    'link',
+    'linkit',
+    'path_alias',
+    'node'
+  ];
+
+  /**
+   * Set up environment for Kernel testing.
+   *
+   * Set up current user.
    */
   public function setUp() {
-    self::$modules[] = 'system';
-    self::$modules[] = 'link';
-    self::$modules[] = 'linkit';
-    self::$modules[] = 'pagedesigner_link';
-    self::$modules[] = 'path_alias';
     parent::setUp();
     $this->installEntitySchema('node');
     $this->installEntitySchema('path_alias');
     $this->installConfig(['path_alias', 'node', 'link', 'linkit', 'pagedesigner_link']);
-    $node = Node::create(['title' => 'test node', 'type' => 'test']);
-    $node->save();
-    $this->entityDefinition['field_link']['uri'] .= $node->id();
+    $this->instantiateTestClass();
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function instantiateTestClass() {
+    $node_type = NodeType::create(['type' => 'pagedesigner_test_content_type']);
+    $node_type->save();
+    $this->node = Node::create(['title' => 'test node', 'type' => $node_type->id()]);
+    $this->node->save();
+    $this->entityDefinition['field_link']['uri'] .= $this->node->id();
+    $this->testEntities[] = $node_type;
+    $this->testEntities[] = $this->node;
   }
 
   /**
@@ -85,7 +121,8 @@ class LinkHandlerTest extends PlainFieldHandlerTestBase {
    */
   protected function getTest() {
     $value = parent::getTest();
-    $this->assertTrue($value == '/en' . \Drupal::service('path_alias.manager')->getAliasByPath($this->entityDefinition['field_link']['uri'], 'en'));
+    $lang = \Drupal::service('language_manager')->getCurrentLanguage(LanguageInterface::TYPE_CONTENT)->getId();
+    $this->assertTrue($value == '/' . $lang . \Drupal::service('path_alias.manager')->getAliasByPath($this->entityDefinition['field_link']['uri'], $lang));
     return $value;
   }
 
@@ -95,9 +132,10 @@ class LinkHandlerTest extends PlainFieldHandlerTestBase {
    * Additionally, check the render array schema and processed content.
    */
   protected function renderTest() {
-    $build = parent::renderTest();
-    $this->assertTrue($build['#plain_text'] == '/en' . \Drupal::service('path_alias.manager')->getAliasByPath($this->entityDefinition['field_link']['uri'], 'en'));
-    return $build;
+    $value = parent::renderTest()['#plain_text'] ?? '';
+    $lang = \Drupal::service('language_manager')->getCurrentLanguage(LanguageInterface::TYPE_CONTENT)->getId();
+    $this->assertTrue($value == '/' . $lang . \Drupal::service('path_alias.manager')->getAliasByPath($this->entityDefinition['field_link']['uri'], $lang));
+    return $value;
   }
 
 }
diff --git a/modules/pagedesigner_link/tests/src/Kernel/HandlerTests/TargetHandlerTest.php b/modules/pagedesigner_link/tests/src/Kernel/HandlerTests/TargetHandlerTest.php
index 911aa85951fd043916e8577a6b849570979b7959..27f404b931b50c1b10c08b0bfeb780ef3475709b 100644
--- a/modules/pagedesigner_link/tests/src/Kernel/HandlerTests/TargetHandlerTest.php
+++ b/modules/pagedesigner_link/tests/src/Kernel/HandlerTests/TargetHandlerTest.php
@@ -22,7 +22,7 @@ class TargetHandlerTest extends PlainFieldHandlerTestBase {
     'type' => 'content',
     'name' => 'target',
     'langcode' => 'en',
-    'field_content' => ['value' => '_blank'],
+    'field_content' => ['value' => ''],
   ];
 
   /**
@@ -32,14 +32,22 @@ class TargetHandlerTest extends PlainFieldHandlerTestBase {
    */
   protected $handlerId = 'target';
 
+  /**
+   * Enable the necessary modules for testing.
+   *
+   * @var array
+   */
+  protected static $modules = [
+    'pagedesigner_link',
+    'system',
+    'link',
+    'linkit',
+  ];
+
   /**
    * {@inheritdoc}
    */
   public function setUp() {
-    self::$modules[] = 'system';
-    self::$modules[] = 'link';
-    self::$modules[] = 'linkit';
-    self::$modules[] = 'pagedesigner_link';
     parent::setUp();
     $this->installConfig(['link', 'linkit', 'pagedesigner_link']);
   }
diff --git a/modules/pagedesigner_media/tests/src/Kernel/HandlerTests/MediaHandlerTestBase.php b/modules/pagedesigner_media/tests/src/Kernel/HandlerTests/MediaHandlerTestBase.php
index b01e36d749c162b0f844461fcf5c6e616fc66f7a..e32cdc5376b140083a87a80b749d14f412ba149e 100644
--- a/modules/pagedesigner_media/tests/src/Kernel/HandlerTests/MediaHandlerTestBase.php
+++ b/modules/pagedesigner_media/tests/src/Kernel/HandlerTests/MediaHandlerTestBase.php
@@ -27,29 +27,33 @@ abstract class MediaHandlerTestBase extends PlainFieldHandlerTestBase {
    */
   protected $media = NULL;
 
+  /**
+   * Enable the necessary modules for testing.
+   *
+   * @var array
+   */
+  protected static $modules = [
+    'pagedesigner_media',
+    'file',
+    'system',
+    'media',
+    'image',
+  ];
+
   /**
    * {@inheritdoc}
    */
   public function setUp() {
-    self::$modules[] = 'system';
-    self::$modules[] = 'file';
-    self::$modules[] = 'image';
-    self::$modules[] = 'media';
-    self::$modules[] = 'pagedesigner_media';
     parent::setUp();
-    $this
-      ->installEntitySchema('file');
-    $this
-      ->installEntitySchema('media');
-    $this
-      ->installSchema('file', 'file_usage');
-    $this
-      ->installConfig([
-        'image',
-        'file',
-        'media',
-        'pagedesigner_media',
-      ]);
+    $this->installEntitySchema('file');
+    $this->installEntitySchema('media');
+    $this->installSchema('file', 'file_usage');
+    $this->installConfig([
+      'image',
+      'file',
+      'media',
+      'pagedesigner_media',
+    ]);
   }
 
   /**
diff --git a/modules/pagedesigner_svg/tests/src/Kernel/HandlerTests/SVGHandlerTest.php b/modules/pagedesigner_svg/tests/src/Kernel/HandlerTests/SVGHandlerTest.php
index aed263c43c9832b011219b654872192596f66192..9c241c2fb43bed5cab64a6155ad74c00246b7b9b 100644
--- a/modules/pagedesigner_svg/tests/src/Kernel/HandlerTests/SVGHandlerTest.php
+++ b/modules/pagedesigner_svg/tests/src/Kernel/HandlerTests/SVGHandlerTest.php
@@ -5,6 +5,8 @@ namespace Drupal\Tests\pagedesigner_svg\Kernel\HandlerTests;
 use Drupal\Tests\pagedesigner_media\Kernel\HandlerTests\MediaHandlerTestBase;
 use Drupal\media\Entity\Media;
 use Drupal\file\Entity\File;
+use iqual\ReusableDrupalTests\ReusableTestClassInterface;
+use iqual\ReusableDrupalTests\ReusableTestClassTrait;
 
 /**
  * Test the "svg" handler with a predefined entity defintion.
@@ -13,7 +15,10 @@ use Drupal\file\Entity\File;
  *
  * @group pagedesigner
  */
-class SVGHandlerTest extends MediaHandlerTestBase {
+class SVGHandlerTest extends MediaHandlerTestBase implements ReusableTestClassInterface {
+
+  // Default implementations for the ReusableTestClassInterface.
+  use ReusableTestClassTrait;
 
   /**
    * Define the properties of the entity.
@@ -24,7 +29,7 @@ class SVGHandlerTest extends MediaHandlerTestBase {
     'type' => 'svg',
     'name' => 'svg',
     'langcode' => 'en',
-    'field_media' => ['target_id' => 1],
+    'field_media' => ['target_id' => 'PLACEHOLDER'],
   ];
 
   /**
@@ -34,18 +39,30 @@ class SVGHandlerTest extends MediaHandlerTestBase {
    */
   protected $handlerId = 'svg';
 
+  /**
+   * Enable the necessary modules for testing.
+   *
+   * @var array
+   */
+  protected static $modules = [
+    'pagedesigner_svg',
+  ];
+
   /**
    * {@inheritdoc}
    *
    * @todo Add the pagedesigner editor config to the environment.
    */
   public function setUp() {
-    self::$modules[] = 'pagedesigner_svg';
-
     parent::setUp();
-
     $this->installConfig(['pagedesigner_svg']);
+    $this->instantiateTestClass();
+  }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function instantiateTestClass() {
     // Create file entity.
     $this->file = File::create([
       'filename' => 'test.svg',
@@ -54,14 +71,17 @@ class SVGHandlerTest extends MediaHandlerTestBase {
     ]);
     $this->file->save();
 
+    $this->testEntities[] = $this->file;
+
     // Create media entity.
     $this->media = Media::create([
       'bundle' => $this->entityDefinition['type'],
       'field_media_file' => ['entity' => $this->file],
     ]);
     $this->media->save();
-
     $this->entityDefinition['field_media']['target_id'] = $this->media->id();
+
+    $this->testEntities[] = $this->media;
   }
 
 
diff --git a/modules/pagedesigner_video/tests/src/Kernel/HandlerTests/VideoHandlerTest.php b/modules/pagedesigner_video/tests/src/Kernel/HandlerTests/VideoHandlerTest.php
index 831420ca8f5c31e1f4a5d1d103a2f057d92b0364..f6ac2f0819cafeb64fdf9abaca37d611a51567c6 100644
--- a/modules/pagedesigner_video/tests/src/Kernel/HandlerTests/VideoHandlerTest.php
+++ b/modules/pagedesigner_video/tests/src/Kernel/HandlerTests/VideoHandlerTest.php
@@ -5,6 +5,8 @@ namespace Drupal\Tests\pagedesigner_video\Kernel\HandlerTests;
 use Drupal\Tests\pagedesigner_media\Kernel\HandlerTests\MediaHandlerTestBase;
 use Drupal\media\Entity\Media;
 use Drupal\file\Entity\File;
+use iqual\ReusableDrupalTests\ReusableTestClassInterface;
+use iqual\ReusableDrupalTests\ReusableTestClassTrait;
 
 /**
  * Test the "video" handler with a predefined entity defintion.
@@ -13,7 +15,10 @@ use Drupal\file\Entity\File;
  *
  * @group pagedesigner
  */
-class VideoHandlerTest extends MediaHandlerTestBase {
+class VideoHandlerTest extends MediaHandlerTestBase implements ReusableTestClassInterface {
+
+  // Default implementations for the ReusableTestClassInterface.
+  use ReusableTestClassTrait;
 
   /**
    * Define the properties of the entity.
@@ -24,7 +29,7 @@ class VideoHandlerTest extends MediaHandlerTestBase {
     'type' => 'video',
     'name' => 'video',
     'langcode' => 'en',
-    'field_media' => ['target_id' => 1],
+    'field_media' => ['target_id' => 'PLACEHOLDER'],
   ];
 
   /**
@@ -34,18 +39,30 @@ class VideoHandlerTest extends MediaHandlerTestBase {
    */
   protected $handlerId = 'video';
 
+  /**
+   * Enable the necessary modules for testing.
+   *
+   * @var array
+   */
+  protected static $modules = [
+    'pagedesigner_video',
+  ];
+
   /**
    * {@inheritdoc}
    *
    * @todo Add the pagedesigner editor config to the environment.
    */
   public function setUp() {
-    self::$modules[] = 'pagedesigner_video';
-
     parent::setUp();
-
     $this->installConfig(['pagedesigner_video']);
+    $this->instantiateTestClass();
+  }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function instantiateTestClass() {
     // Create file entity.
     $this->file = File::create([
       'filename' => 'test.mp4',
@@ -54,14 +71,17 @@ class VideoHandlerTest extends MediaHandlerTestBase {
     ]);
     $this->file->save();
 
+    $this->testEntities[] = $this->file;
+
     // Create media entity.
     $this->media = Media::create([
       'bundle' => $this->entityDefinition['type'],
       'field_media_file' => ['entity' => $this->file],
     ]);
     $this->media->save();
-
     $this->entityDefinition['field_media']['target_id'] = $this->media->id();
+
+    $this->testEntities[] = $this->media;
   }
 
   /**
diff --git a/tests/modules/pagedesigner_pattern_test/pagedesigner_pattern_test.info.yml b/tests/modules/pagedesigner_pattern_test/pagedesigner_pattern_test.info.yml
index 9ce891475615df125915e084da9858c9953bea8b..6d265ac02fc8223a982c6aa16451b7d52dac9276 100644
--- a/tests/modules/pagedesigner_pattern_test/pagedesigner_pattern_test.info.yml
+++ b/tests/modules/pagedesigner_pattern_test/pagedesigner_pattern_test.info.yml
@@ -1,3 +1,3 @@
 name: 'Pagdesigner pattern test'
 type: module
-core: 8.x
+core_version_requirement: ^8.8 || ^9
diff --git a/tests/src/Kernel/HandlerTests/ContentHandlerTest.php b/tests/src/Kernel/HandlerTests/ContentHandlerTest.php
index f1124ba9ba80ea5b8af02a9bf899e8991ad04a6a..d86f8af7bc5b81742b9dff4161776e7341b62def 100644
--- a/tests/src/Kernel/HandlerTests/ContentHandlerTest.php
+++ b/tests/src/Kernel/HandlerTests/ContentHandlerTest.php
@@ -2,6 +2,9 @@
 
 namespace Drupal\Tests\pagedesigner\Kernel\HandlerTests;
 
+use iqual\ReusableDrupalTests\ReusableTestClassInterface;
+use iqual\ReusableDrupalTests\ReusableTestClassTrait;
+
 /**
  * Test the "content" handler with a predefined entity defintion.
  *
@@ -9,7 +12,10 @@ namespace Drupal\Tests\pagedesigner\Kernel\HandlerTests;
  *
  * @group pagedesigner
  */
-class ContentHandlerTest extends FieldHandlerTestBase {
+class ContentHandlerTest extends FieldHandlerTestBase implements ReusableTestClassInterface {
+
+  // Default implementations for the ReusableTestClassInterface.
+  use ReusableTestClassTrait;
 
   /**
    * Define the properties of the entity.
diff --git a/tests/src/Kernel/HandlerTests/EditorHandlerTestCase.php b/tests/src/Kernel/HandlerTests/EditorHandlerTestCase.php
index eef6fd4a1cb0f69d4559705d734dc18b6d523289..78caa7c08ed218f11d74624f9010f6e1e596c17e 100644
--- a/tests/src/Kernel/HandlerTests/EditorHandlerTestCase.php
+++ b/tests/src/Kernel/HandlerTests/EditorHandlerTestCase.php
@@ -9,11 +9,36 @@ namespace Drupal\Tests\pagedesigner\Kernel\HandlerTests;
  */
 abstract class EditorHandlerTestCase extends HandlerTestBase {
 
+  /**
+   * Enable the necessary modules for testing.
+   *
+   * @var array
+   */
+  protected static $modules = [
+    'editor',
+  ];
+
+  /**
+   * The filter format.
+   *
+   * @var string
+   */
+  protected $filterFormat = 'plain_text';
+
+  /**
+   * The filter format config variable name.
+   *
+   * @var string
+   */
+  protected $filterFormatConfigVariable = 'filter_format';
+
   /**
    * {@inheritdoc}
    */
   public function setUp() {
-    self::$modules[] = 'editor';
+    // Override global config
+    global $config;
+    $config['pagedesigner.settings'][$this->filterFormatConfigVariable] = $this->filterFormat;
     parent::setUp();
   }
 
@@ -48,7 +73,7 @@ abstract class EditorHandlerTestCase extends HandlerTestBase {
     $testBuild = [
       '#type' => 'processed_text',
       '#text' => $this->entityDefinition['field_content']['value'],
-      '#format' => 'plain_text',
+      '#format' => $this->filterFormat,
       '#filter_types_to_skip' => [],
       '#langcode' => $this->entityDefinition['langcode'],
     ];
diff --git a/tests/src/Kernel/HandlerTests/HTMLHandlerTest.php b/tests/src/Kernel/HandlerTests/HTMLHandlerTest.php
index 63af4c9d24a976ff394682324f06a5b3088afcf1..b7d37ee3d93f6355fe5d885f53a2920d785bbf16 100644
--- a/tests/src/Kernel/HandlerTests/HTMLHandlerTest.php
+++ b/tests/src/Kernel/HandlerTests/HTMLHandlerTest.php
@@ -2,6 +2,9 @@
 
 namespace Drupal\Tests\pagedesigner\Kernel\HandlerTests;
 
+use iqual\ReusableDrupalTests\ReusableTestClassInterface;
+use iqual\ReusableDrupalTests\ReusableTestClassTrait;
+
 /**
  * Test the "html" handler with a predefined entity defintion.
  *
@@ -9,7 +12,15 @@ namespace Drupal\Tests\pagedesigner\Kernel\HandlerTests;
  *
  * @group pagedesigner
  */
-class HTMLHandlerTest extends EditorHandlerTestCase {
+class HTMLHandlerTest extends EditorHandlerTestCase implements ReusableTestClassInterface {
+
+  // Default implementations for the ReusableTestClassInterface.
+  use ReusableTestClassTrait;
+
+  /**
+   * {@inheritdoc}
+   */
+  protected $filterFormat = 'pagedesigner';
 
   /**
    * Define the properties of the entity.
diff --git a/tests/src/Kernel/HandlerTests/HandlerTestBase.php b/tests/src/Kernel/HandlerTests/HandlerTestBase.php
index f6dab58d394360fe4f7463275cdaed728eebdcf7..4300673ff9c801774adcd2beb650b7be914eaeb0 100644
--- a/tests/src/Kernel/HandlerTests/HandlerTestBase.php
+++ b/tests/src/Kernel/HandlerTests/HandlerTestBase.php
@@ -56,20 +56,13 @@ abstract class HandlerTestBase extends AbstractPagedesignerTest {
    */
   protected $sampleDate = [];
 
-  /**
-   * {@inheritdoc}
-   */
-  public function setUp() {
-    parent::setUp();
-    $this->handlerManager = \Drupal::service('plugin.manager.pagedesigner_handler');
-  }
-
   /**
    * Test the handler with the entity.
    */
   public function testHandler() {
     $this->entity = Element::create($this->entityDefinition);
     $this->entity->setHandlerType($this->handlerId);
+    $this->handlerManager = \Drupal::service('plugin.manager.pagedesigner_handler');
     $this->handler = $this->handlerManager->createInstance($this->handlerId);
     $this->assertTrue($this->entity != NULL);
     $this->assertTrue($this->handler != NULL);
diff --git a/tests/src/Kernel/HandlerTests/HideHandlerTest.php b/tests/src/Kernel/HandlerTests/HideHandlerTest.php
index 1d70a6d72cb608167d2b9b21962bc264b10be76a..fa86fa0ad0f59eaaa854c92a0d0629b6764acf6e 100644
--- a/tests/src/Kernel/HandlerTests/HideHandlerTest.php
+++ b/tests/src/Kernel/HandlerTests/HideHandlerTest.php
@@ -2,6 +2,9 @@
 
 namespace Drupal\Tests\pagedesigner\Kernel\HandlerTests;
 
+use iqual\ReusableDrupalTests\ReusableTestClassInterface;
+use iqual\ReusableDrupalTests\ReusableTestClassTrait;
+
 /**
  * Test the "hide" handler with a predefined entity defintion.
  *
@@ -9,7 +12,10 @@ namespace Drupal\Tests\pagedesigner\Kernel\HandlerTests;
  *
  * @group pagedesigner
  */
-class HideHandlerTest extends PlainFieldHandlerTestBase {
+class HideHandlerTest extends PlainFieldHandlerTestBase implements ReusableTestClassInterface {
+
+  // Default implementations for the ReusableTestClassInterface.
+  use ReusableTestClassTrait;
 
   /**
    * Define the properties of the entity.
diff --git a/tests/src/Kernel/HandlerTests/LongtextHandlerTest.php b/tests/src/Kernel/HandlerTests/LongtextHandlerTest.php
index c9be56cde8fb87835615e45519f0c7e97b7c8a71..0f7a4aaec5a0da324dfdd425f91e5d066fe657b2 100644
--- a/tests/src/Kernel/HandlerTests/LongtextHandlerTest.php
+++ b/tests/src/Kernel/HandlerTests/LongtextHandlerTest.php
@@ -3,6 +3,8 @@
 namespace Drupal\Tests\pagedesigner\Kernel\HandlerTests;
 
 use Drupal\Core\Render\Markup;
+use iqual\ReusableDrupalTests\ReusableTestClassInterface;
+use iqual\ReusableDrupalTests\ReusableTestClassTrait;
 
 /**
  * Test the "longtext" handler with a predefined entity defintion.
@@ -11,7 +13,20 @@ use Drupal\Core\Render\Markup;
  *
  * @group pagedesigner
  */
-class LongtextHandlerTest extends EditorHandlerTestCase {
+class LongtextHandlerTest extends EditorHandlerTestCase implements ReusableTestClassInterface {
+
+  // Default implementations for the ReusableTestClassInterface.
+  use ReusableTestClassTrait;
+
+  /**
+   * {@inheritdoc}
+   */
+  protected $filterFormat = 'plain_text';
+
+  /**
+   * {@inheritdoc}
+   */
+  protected $filterFormatConfigVariable = 'filter_format_longtext';
 
   /**
    * Define the properties of the entity.
diff --git a/tests/src/Kernel/HandlerTests/SelectHandlerTest.php b/tests/src/Kernel/HandlerTests/SelectHandlerTest.php
index bff68fb360551868f82c1fe2ec0d5ddb35bbf97f..2718c2ed2e1a638369093ecf7a199a32dfcbe9a7 100644
--- a/tests/src/Kernel/HandlerTests/SelectHandlerTest.php
+++ b/tests/src/Kernel/HandlerTests/SelectHandlerTest.php
@@ -2,6 +2,9 @@
 
 namespace Drupal\Tests\pagedesigner\Kernel\HandlerTests;
 
+use iqual\ReusableDrupalTests\ReusableTestClassInterface;
+use iqual\ReusableDrupalTests\ReusableTestClassTrait;
+
 /**
  * Test the "select" handler with a predefined entity defintion.
  *
@@ -9,7 +12,10 @@ namespace Drupal\Tests\pagedesigner\Kernel\HandlerTests;
  *
  * @group pagedesigner
  */
-class SelectHandlerTest extends PlainFieldHandlerTestBase {
+class SelectHandlerTest extends PlainFieldHandlerTestBase implements ReusableTestClassInterface {
+
+  // Default implementations for the ReusableTestClassInterface.
+  use ReusableTestClassTrait;
 
   /**
    * Define the properties of the entity.
diff --git a/tests/src/Kernel/HandlerTests/TextHandlerTest.php b/tests/src/Kernel/HandlerTests/TextHandlerTest.php
index 68e9b8ddd9de9b045045d16ba1ee32fed74de409..80041fff940c26785f992dc13ad0cf321bdc76ad 100644
--- a/tests/src/Kernel/HandlerTests/TextHandlerTest.php
+++ b/tests/src/Kernel/HandlerTests/TextHandlerTest.php
@@ -3,6 +3,8 @@
 namespace Drupal\Tests\pagedesigner\Kernel\HandlerTests;
 
 use Drupal\Component\Utility\Xss;
+use iqual\ReusableDrupalTests\ReusableTestClassInterface;
+use iqual\ReusableDrupalTests\ReusableTestClassTrait;
 
 /**
  * Test the "text" handler with a predefined entity defintion.
@@ -11,7 +13,10 @@ use Drupal\Component\Utility\Xss;
  *
  * @group pagedesigner
  */
-class TextHandlerTest extends FieldHandlerTestBase {
+class TextHandlerTest extends FieldHandlerTestBase implements ReusableTestClassInterface {
+
+  // Default implementations for the ReusableTestClassInterface.
+  use ReusableTestClassTrait;
 
   /**
    * Define the properties of the entity.
diff --git a/tests/src/Kernel/HandlerTests/TextareaHandlerTest.php b/tests/src/Kernel/HandlerTests/TextareaHandlerTest.php
index 946d59ffe756f2c55078278624c62b09eed7cdb0..eae2545c3771d744a4e0c1cfbac3f5889f0aa40b 100644
--- a/tests/src/Kernel/HandlerTests/TextareaHandlerTest.php
+++ b/tests/src/Kernel/HandlerTests/TextareaHandlerTest.php
@@ -3,6 +3,8 @@
 namespace Drupal\Tests\pagedesigner\Kernel\HandlerTests;
 
 use Drupal\Core\Render\Markup;
+use iqual\ReusableDrupalTests\ReusableTestClassInterface;
+use iqual\ReusableDrupalTests\ReusableTestClassTrait;
 
 /**
  * Test the "longtext" handler with a predefined entity defintion.
@@ -11,7 +13,20 @@ use Drupal\Core\Render\Markup;
  *
  * @group pagedesigner
  */
-class TextareaHandlerTest extends LongtextHandlerTest {
+class TextareaHandlerTest extends LongtextHandlerTest implements ReusableTestClassInterface {
+
+  // Default implementations for the ReusableTestClassInterface.
+  use ReusableTestClassTrait;
+
+  /**
+   * {@inheritdoc}
+   */
+  protected $filterFormat = 'pagedesigner';
+
+  /**
+   * {@inheritdoc}
+   */
+  protected $filterFormatConfigVariable = 'filter_format_textarea';
 
   /**
    * Define handler to be tested.
diff --git a/tests/src/Kernel/PatternTests/ComponentPatternTest.php b/tests/src/Kernel/PatternTests/ComponentPatternTest.php
index 74f67747a3dcf9e2ea21a00188266fc95676d5ff..520031a3d3463a187f234bca04190fd2148cfa93 100644
--- a/tests/src/Kernel/PatternTests/ComponentPatternTest.php
+++ b/tests/src/Kernel/PatternTests/ComponentPatternTest.php
@@ -2,8 +2,8 @@
 
 namespace Drupal\Tests\pagedesigner\Kernel\PatternTests;
 
-use Drupal\editor\Entity\Editor;
-use Drupal\filter\Entity\FilterFormat;
+use iqual\ReusableDrupalTests\ReusableTestClassInterface;
+use iqual\ReusableDrupalTests\ReusableTestClassTrait;
 
 /**
  * Test the core handlers with a predefined, virtual pattern.
@@ -12,7 +12,11 @@ use Drupal\filter\Entity\FilterFormat;
  *
  * @group pagedesigner
  */
-class ComponentPatternTest extends PatternTestBase {
+class ComponentPatternTest extends PatternTestBase implements ReusableTestClassInterface {
+
+  // Default implementations for the ReusableTestClassInterface.
+  use ReusableTestClassTrait;
+
   /**
    * The pattern ids.
    *
@@ -20,31 +24,34 @@ class ComponentPatternTest extends PatternTestBase {
    */
   protected $patternIds = ['component_test'];
 
+  /**
+   * Enable the necessary modules for testing.
+   *
+   * @var array
+   */
+  protected static $modules = [
+    'system',
+    'editor',
+    'filter',
+    'ckeditor',
+  ];
+
   /**
    * {@inheritdoc}
    */
   public function setUp() {
-    self::$modules[] = 'system';
-    self::$modules[] = 'editor';
-    self::$modules[] = 'filter';
-    self::$modules[] = 'ckeditor';
     parent::setUp();
     $this->installConfig(['system']);
     $this->installConfig(['editor']);
     $this->installConfig(['filter']);
     $this->installConfig(['ckeditor']);
-    // FilterFormat::create([
-    //   'format' => 'plain_text',
-    //   'name' => 'Plain Text',
-    //   'weight' => 0,
-    //   'filters' => [],
-    // ])->save();
-    $editor = Editor::create([
-      'id' => 'plain_text',
-      'format' => 'plain_text',
-      'editor' => 'ckeditor',
-    ]);
-    $editor->save();
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function instantiateTestClass() {
+    parent::instantiateTestClass();
   }
 
 }
diff --git a/tests/src/Kernel/PatternTests/PatternTestBase.php b/tests/src/Kernel/PatternTests/PatternTestBase.php
index c31bf5b272844d1bf43cf0e9a6202ef00bd8570a..f38981ecd72681b8fd772e1361010b50f4690c9e 100644
--- a/tests/src/Kernel/PatternTests/PatternTestBase.php
+++ b/tests/src/Kernel/PatternTests/PatternTestBase.php
@@ -56,18 +56,40 @@ abstract class PatternTestBase extends AbstractPagedesignerTest {
    */
   protected $returnData = [];
 
+  /**
+   * {@inheritdoc}
+   */
+  protected static $modules = [
+    'ui_patterns_library',
+  ];
+
   /**
    * {@inheritdoc}
    */
   public function setUp() {
-    self::$modules[] = 'ui_patterns_library';
-    self::$modules[] = 'pagedesigner_pattern_test';
+    self::$modules = array_merge(self::$modules, parent::$modules, self::$test_modules);
     parent::setUp();
+    $this->instantiateTestClass();
+  }
+
+  /**
+   * Undocumented function
+   *
+   * @return void
+   */
+  public function instantiateTestClass() {
     $this->elementHandler = \Drupal::service('pagedesigner.service.element_handler');
     $manager = UiPatterns::getManager();
     $this->definitions = $manager->getDefinitions();
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  protected static $test_modules = [
+    'pagedesigner_pattern_test',
+  ];
+
   /**
    * Test the definitions.
    */
diff --git a/tests/src/Kernel/PatternTests/RowPatternTest.php b/tests/src/Kernel/PatternTests/RowPatternTest.php
index eb04c7d7c8c5fc834d0b3b46efe980ce7a30fc5c..39438871a9d99a755ea9b1a3d6cdc21ab15f3167 100644
--- a/tests/src/Kernel/PatternTests/RowPatternTest.php
+++ b/tests/src/Kernel/PatternTests/RowPatternTest.php
@@ -3,6 +3,8 @@
 namespace Drupal\Tests\pagedesigner\Kernel\PatternTests;
 
 use Drupal\pagedesigner\Entity\Element;
+use iqual\ReusableDrupalTests\ReusableTestClassInterface;
+use iqual\ReusableDrupalTests\ReusableTestClassTrait;
 
 /**
  * Test the core handlers with a predefined, virtual pattern.
@@ -12,7 +14,11 @@ use Drupal\pagedesigner\Entity\Element;
  *
  * @group pagedesigner
  */
-class RowPatternTest extends PatternTestBase {
+class RowPatternTest extends PatternTestBase implements ReusableTestClassInterface {
+
+  // Default implementations for the ReusableTestClassInterface.
+  use ReusableTestClassTrait;
+
   /**
    * The pattern ids.
    *
@@ -25,59 +31,76 @@ class RowPatternTest extends PatternTestBase {
    */
   public function setUp() {
     parent::setUp();
-    $entity = Element::create(
+    $this->instantiateTestClass();
+  }
+
+  /**
+   * Undocumented function
+   *
+   * @return void
+   */
+  public function instantiateTestClass() {
+    parent::instantiateTestClass();
+    $this->generateTestContent();
+  }
+
+  /**
+   *
+   */
+  public function generateTestContent() {
+    ($entity1 = Element::create(
       [
         'type' => 'content',
         'name' => 'test_cell1',
         'langcode' => 'en',
-      ]);
-    $entity->save();
-    $id1 = $entity->id();
+      ]))->save();
 
-    $entity = Element::create(
+    ($entity2 = Element::create(
       [
         'type' => 'content',
         'name' => 'test_cell2',
         'langcode' => 'en',
-      ]);
-    $entity->save();
-    $id2 = $entity->id();
-    $entity = Element::create(
+      ]))->save();
+
+    ($entity3 = Element::create(
       [
         'type' => 'content',
         'name' => 'test_cell1',
         'langcode' => 'en',
-      ]);
-    $entity->save();
-    $id3 = $entity->id();
+      ]))->save();
 
-    $entity = Element::create(
+    ($entity4 = Element::create(
       [
         'type' => 'content',
         'name' => 'test_cell2',
         'langcode' => 'en',
-      ]);
-    $entity->save();
-    $id4 = $entity->id();
+      ]))->save();
 
     $this->patchData = [
       'fields' => [
         'column0' => [
           'order' =>
           [
-            $id1,
-            $id2,
+            $entity1->id(),
+            $entity2->id(),
           ],
         ],
         'column1' => [
           'order' =>
           [
-            $id3,
-            $id4,
+            $entity3->id(),
+            $entity4->id(),
           ],
         ],
       ],
     ] + $this->patchData;
+
+    $this->testEntities = [
+      $entity1,
+      $entity2,
+      $entity3,
+      $entity4,
+    ];
   }
 
   /**
