Page MenuHomePhorge

TrialEndEmailTest.php
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

TrialEndEmailTest.php

<?php
namespace Tests\Feature\Jobs;
use App\Jobs\TrialEndEmail;
use App\Mail\TrialEnd;
use App\User;
use Illuminate\Support\Facades\Mail;
use Tests\TestCase;
class TrialEndEmailTest extends TestCase
{
/**
* {@inheritDoc}
*
* @return void
*/
public function setUp(): void
{
parent::setUp();
$this->deleteTestUser('PaymentEmail@UserAccount.com');
}
/**
* {@inheritDoc}
*
* @return void
*/
public function tearDown(): void
{
$this->deleteTestUser('PaymentEmail@UserAccount.com');
parent::tearDown();
}
/**
* Test job handle
*
* @return void
*/
public function testHandle()
{
$status = User::STATUS_ACTIVE | User::STATUS_LDAP_READY | User::STATUS_IMAP_READY;
$user = $this->getTestUser('PaymentEmail@UserAccount.com', ['status' => $status]);
$user->setSetting('external_email', 'ext@email.tld');
Mail::fake();
// Assert that no jobs were pushed...
Mail::assertNothingSent();
$job = new TrialEndEmail($user);
$job->handle();
// Assert the email sending job was pushed once
Mail::assertSent(TrialEnd::class, 1);
// Assert the mail was sent to the user's email
Mail::assertSent(TrialEnd::class, function ($mail) {
return $mail->hasTo('paymentemail@useraccount.com') && !$mail->hasCc('ext@email.tld');
});
}
}

File Metadata

Mime Type
text/x-php
Expires
Thu, Nov 20, 4:14 PM (15 h, 15 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
387187
Default Alt Text
TrialEndEmailTest.php (1 KB)

Event Timeline