From 88ec3d9e5136c6cbefebba063863ef1a058f4b09 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 13 May 2025 23:42:39 +0100 Subject: [PATCH] Create and use `DailyEmailTestTrait` --- .../src/Functional/DailyEmailTokenTest.php | 14 ++--------- .../DailyEmailNodeRepositoryTest.php | 9 ++++---- .../tests/src/Traits/DailyEmailTestTrait.php | 23 +++++++++++++++++++ 3 files changed, 29 insertions(+), 17 deletions(-) create mode 100644 modules/opd_daily_emails/tests/src/Traits/DailyEmailTestTrait.php diff --git a/modules/opd_daily_emails/tests/src/Functional/DailyEmailTokenTest.php b/modules/opd_daily_emails/tests/src/Functional/DailyEmailTokenTest.php index 68b20a2d8..8be1b970d 100644 --- a/modules/opd_daily_emails/tests/src/Functional/DailyEmailTokenTest.php +++ b/modules/opd_daily_emails/tests/src/Functional/DailyEmailTokenTest.php @@ -3,14 +3,13 @@ namespace Drupal\Tests\opd_daily_emails\Functional; use Drupal\Tests\BrowserTestBase; -use Drupal\Tests\node\Traits\NodeCreationTrait; +use Drupal\Tests\opd_daily_emails\Traits\DailyEmailTestTrait; use Drupal\Tests\token\Functional\TokenTestTrait; use Drupal\node\NodeInterface; -use Symfony\Component\HttpFoundation\Response; class DailyEmailTokenTest extends BrowserTestBase { - use NodeCreationTrait; + use DailyEmailTestTrait; use TokenTestTrait; public $defaultTheme = 'stark'; @@ -33,13 +32,4 @@ class DailyEmailTokenTest extends BrowserTestBase { ); } - private function createDailyEmailNode(array $options): NodeInterface { - return $this->createNode(array_merge( - $options, - [ - 'type' => 'daily_email', - ] - )); - } - } diff --git a/modules/opd_daily_emails/tests/src/Kernel/Repository/DailyEmailNodeRepositoryTest.php b/modules/opd_daily_emails/tests/src/Kernel/Repository/DailyEmailNodeRepositoryTest.php index 721486744..2b02225c1 100644 --- a/modules/opd_daily_emails/tests/src/Kernel/Repository/DailyEmailNodeRepositoryTest.php +++ b/modules/opd_daily_emails/tests/src/Kernel/Repository/DailyEmailNodeRepositoryTest.php @@ -6,13 +6,14 @@ namespace Drupal\Tests\opd_daily_emails\Kernel\Repository; use Drupal\KernelTests\Core\Entity\EntityKernelTestBase; use Drupal\Tests\node\Traits\NodeCreationTrait; +use Drupal\Tests\opd_daily_emails\Traits\DailyEmailTestTrait; use Drupal\node\NodeInterface; use Drupal\opd_daily_emails\Repository\DailyEmailNodeRepository; use Drupal\opd_daily_emails\Repository\DailyEmailRepositoryInterface; final class DailyEmailNodeRepositoryTest extends EntityKernelTestBase { - use NodeCreationTrait; + use DailyEmailTestTrait; public static $modules = [ 'node', @@ -20,16 +21,14 @@ final class DailyEmailNodeRepositoryTest extends EntityKernelTestBase { ]; public function test_get_all_published_daily_emails(): void { - $this->createNode([ + $this->createDailyEmailNode([ 'status' => NodeInterface::PUBLISHED, 'title' => 'A published daily email', - 'type' => 'daily_email', ]); - $this->createNode([ + $this->createDailyEmailNode([ 'status' => NodeInterface::NOT_PUBLISHED, 'title' => 'An unpublished daily email', - 'type' => 'daily_email', ]); $repository = $this->container->get(DailyEmailNodeRepository::class); diff --git a/modules/opd_daily_emails/tests/src/Traits/DailyEmailTestTrait.php b/modules/opd_daily_emails/tests/src/Traits/DailyEmailTestTrait.php new file mode 100644 index 000000000..67c0e8815 --- /dev/null +++ b/modules/opd_daily_emails/tests/src/Traits/DailyEmailTestTrait.php @@ -0,0 +1,23 @@ +createNode(array_merge( + $options, + [ + 'type' => 'daily_email', + ] + )); + } + +}