Changeset View
Changeset View
Standalone View
Standalone View
src/tests/Unit/Mail/SuspendedDebtorTest.php
<?php | <?php | ||||
namespace Tests\Unit\Mail; | namespace Tests\Unit\Mail; | ||||
use App\Mail\SuspendedDebtor; | use App\Mail\SuspendedDebtor; | ||||
use App\User; | use App\User; | ||||
use Tests\MailInterceptTrait; | |||||
use Tests\TestCase; | use Tests\TestCase; | ||||
class SuspendedDebtorTest extends TestCase | class SuspendedDebtorTest extends TestCase | ||||
{ | { | ||||
use MailInterceptTrait; | |||||
/** | /** | ||||
* Test email content | * Test email content | ||||
*/ | */ | ||||
public function testBuild(): void | public function testBuild(): void | ||||
{ | { | ||||
$user = new User(); | $user = new User(); | ||||
\config([ | \config([ | ||||
'app.support_url' => 'https://kolab.org/support', | 'app.support_url' => 'https://kolab.org/support', | ||||
'app.kb.account_suspended' => 'https://kb.kolab.org/account-suspended', | 'app.kb.account_suspended' => 'https://kb.kolab.org/account-suspended', | ||||
'app.kb.account_delete' => 'https://kb.kolab.org/account-delete', | 'app.kb.account_delete' => 'https://kb.kolab.org/account-delete', | ||||
]); | ]); | ||||
$mail = $this->fakeMail(new SuspendedDebtor($user)); | $mail = $this->renderMail(new SuspendedDebtor($user)); | ||||
$html = $mail['html']; | $html = $mail['html']; | ||||
$plain = $mail['plain']; | $plain = $mail['plain']; | ||||
$walletUrl = \App\Utils::serviceUrl('/wallet'); | $walletUrl = \App\Utils::serviceUrl('/wallet'); | ||||
$walletLink = sprintf('<a href="%s">%s</a>', $walletUrl, $walletUrl); | $walletLink = sprintf('<a href="%s">%s</a>', $walletUrl, $walletUrl); | ||||
$supportUrl = \config('app.support_url'); | $supportUrl = \config('app.support_url'); | ||||
$supportLink = sprintf('<a href="%s">%s</a>', $supportUrl, $supportUrl); | $supportLink = sprintf('<a href="%s">%s</a>', $supportUrl, $supportUrl); | ||||
$deleteUrl = \config('app.kb.account_delete'); | $deleteUrl = \config('app.kb.account_delete'); | ||||
$deleteLink = sprintf('<a href="%s">%s</a>', $deleteUrl, $deleteUrl); | $deleteLink = sprintf('<a href="%s">%s</a>', $deleteUrl, $deleteUrl); | ||||
$moreUrl = \config('app.kb.account_suspended'); | $moreUrl = \config('app.kb.account_suspended'); | ||||
$moreLink = sprintf('<a href="%s">here</a>', $moreUrl); | $moreLink = sprintf('<a href="%s">here</a>', $moreUrl); | ||||
$appName = \config('app.name'); | $appName = \config('app.name'); | ||||
$this->assertMailSubject("$appName Account Suspended", $mail['message']); | $this->assertSame("$appName Account Suspended", $mail['subject']); | ||||
$this->assertStringStartsWith('<!DOCTYPE html>', $html); | $this->assertStringStartsWith('<!DOCTYPE html>', $html); | ||||
$this->assertTrue(strpos($html, $user->name(true)) > 0); | $this->assertTrue(strpos($html, $user->name(true)) > 0); | ||||
$this->assertTrue(strpos($html, $walletLink) > 0); | $this->assertTrue(strpos($html, $walletLink) > 0); | ||||
$this->assertTrue(strpos($html, $supportLink) > 0); | $this->assertTrue(strpos($html, $supportLink) > 0); | ||||
$this->assertTrue(strpos($html, $deleteLink) > 0); | $this->assertTrue(strpos($html, $deleteLink) > 0); | ||||
$this->assertTrue(strpos($html, "You have been behind on paying for your $appName account") > 0); | $this->assertTrue(strpos($html, "You have been behind on paying for your $appName account") > 0); | ||||
$this->assertTrue(strpos($html, "over 14 days") > 0); | $this->assertTrue(strpos($html, "over 14 days") > 0); | ||||
Show All 15 Lines |