From 41dce089c4c876d06effd2350c7b2fe0badfc250 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Cho=C5=82aj?= Date: Wed, 15 Dec 2021 15:46:12 +0100 Subject: [PATCH] Mock MjlmService in tests (#8) --- tests/Api/AuthTest.php | 11 +++++++++++ tests/Api/CoursesTest.php | 11 +++++++++++ 2 files changed, 22 insertions(+) diff --git a/tests/Api/AuthTest.php b/tests/Api/AuthTest.php index 04f1764..5b1c415 100644 --- a/tests/Api/AuthTest.php +++ b/tests/Api/AuthTest.php @@ -10,6 +10,8 @@ use EscolaLms\TemplatesEmail\Core\EmailMailable; use EscolaLms\TemplatesEmail\Events\Registered; use EscolaLms\TemplatesEmail\Notifications\ResetPassword; +use EscolaLms\TemplatesEmail\Services\Contracts\MjmlServiceContract; +use EscolaLms\TemplatesEmail\Services\MjmlService; use EscolaLms\TemplatesEmail\Tests\TestCase; use Illuminate\Auth\Notifications\ResetPassword as LaravelResetPassword; use Illuminate\Auth\Notifications\VerifyEmail; @@ -18,6 +20,8 @@ use Illuminate\Support\Facades\Event; use Illuminate\Support\Facades\Mail; use Illuminate\Support\Facades\Notification; +use Mockery; +use Mockery\MockInterface; class AuthTest extends TestCase { @@ -29,6 +33,13 @@ public function setUp(): void if (!class_exists(\EscolaLms\Auth\EscolaLmsAuthServiceProvider::class)) { $this->markTestSkipped('Auth package not installed'); } + + $this->instance( + MjmlServiceContract::class, + Mockery::mock(MjmlService::class, function (MockInterface $mock) { + $mock->shouldReceive('render')->once()->andReturnArg(0); + }) + ); } public function testVerifyEmail() diff --git a/tests/Api/CoursesTest.php b/tests/Api/CoursesTest.php index 0890ebc..9717e3d 100644 --- a/tests/Api/CoursesTest.php +++ b/tests/Api/CoursesTest.php @@ -18,6 +18,8 @@ use EscolaLms\Courses\ValueObjects\CourseProgressCollection; use EscolaLms\Templates\Listeners\TemplateEventListener; use EscolaLms\TemplatesEmail\Core\EmailMailable; +use EscolaLms\TemplatesEmail\Services\Contracts\MjmlServiceContract; +use EscolaLms\TemplatesEmail\Services\MjmlService; use EscolaLms\TemplatesEmail\Tests\TestCase; use Illuminate\Foundation\Testing\DatabaseTransactions; use Illuminate\Foundation\Testing\WithoutMiddleware; @@ -25,6 +27,8 @@ use Illuminate\Support\Facades\Event; use Illuminate\Support\Facades\Mail; use Illuminate\Support\Facades\Notification; +use Mockery; +use Mockery\MockInterface; class CoursesTest extends TestCase { @@ -40,6 +44,13 @@ public function setUp(): void if (!class_exists(\EscolaLms\Scorm\EscolaLmsScormServiceProvider::class)) { $this->markTestSkipped('Scorm package not installed'); } + + $this->instance( + MjmlServiceContract::class, + Mockery::mock(MjmlService::class, function (MockInterface $mock) { + $mock->shouldReceive('render')->once()->andReturnArg(0); + }) + ); } public function testDeadlineNotification()