diff --git a/tests/Feature/Banking/TransactionsTest.php b/tests/Feature/Banking/TransactionsTest.php index 54cf8e0dc..b6bab4b90 100644 --- a/tests/Feature/Banking/TransactionsTest.php +++ b/tests/Feature/Banking/TransactionsTest.php @@ -8,6 +8,7 @@ use App\Notifications\Banking\Transaction as Notification; use App\Models\Banking\Transaction; use Illuminate\Http\UploadedFile; use Illuminate\Support\Facades\File; +use Illuminate\Support\Facades\Notification as NotificationFacade; use Maatwebsite\Excel\Facades\Excel; use Tests\Feature\FeatureTestCase; @@ -73,7 +74,7 @@ class TransactionsTest extends FeatureTestCase public function testItShouldSendTransactionEmail() { - config(['mail.default' => 'array']); + NotificationFacade::fake(); $transaction = $this->dispatch(new CreateTransaction($this->getRequest())); @@ -82,15 +83,19 @@ class TransactionsTest extends FeatureTestCase ->assertStatus(200); $this->assertFlashLevel('success'); + + NotificationFacade::assertSentTo($transaction->contact, Notification::class); } public function testItShouldHitRateLimitForSendTransactionEmail() { - config(['mail.default' => 'array']); + NotificationFacade::fake(); + + $limit_per_minute = (int) config('app.throttles.email.minute'); $transaction = $this->dispatch(new CreateTransaction($this->getRequest())); - for ($i = 0; $i < config('app.throttles.email.minute'); $i++) { + for ($i = 0; $i < $limit_per_minute; $i++) { $this->loginAs() ->post(route('modals.transactions.emails.store', $transaction->id), $this->getEmailRequest($transaction)); } @@ -100,6 +105,8 @@ class TransactionsTest extends FeatureTestCase ->assertJson([ 'success' => false, ]); + + NotificationFacade::assertSentTimes(Notification::class, $limit_per_minute); } public function testItShouldSeeTransactionUpdatePage() diff --git a/tests/Feature/Sales/InvoicesTest.php b/tests/Feature/Sales/InvoicesTest.php index b95ab1f93..e38d1ba26 100644 --- a/tests/Feature/Sales/InvoicesTest.php +++ b/tests/Feature/Sales/InvoicesTest.php @@ -9,6 +9,7 @@ use App\Notifications\Sale\Invoice as Notification; use Illuminate\Http\UploadedFile; use Illuminate\Support\Carbon; use Illuminate\Support\Facades\File; +use Illuminate\Support\Facades\Notification as NotificationFacade; use Illuminate\Support\Facades\Storage; use Maatwebsite\Excel\Facades\Excel; use Tests\Feature\FeatureTestCase; @@ -130,7 +131,7 @@ class InvoicesTest extends FeatureTestCase public function testItShouldSendInvoiceEmail() { - config(['mail.default' => 'array']); + NotificationFacade::fake(); $invoice = $this->dispatch(new CreateDocument($this->getRequest())); @@ -139,15 +140,19 @@ class InvoicesTest extends FeatureTestCase ->assertStatus(200); $this->assertFlashLevel('success'); + + NotificationFacade::assertSentTo($invoice->contact, Notification::class); } public function testItShouldHitRateLimitForSendInvoiceEmail() { - config(['mail.default' => 'array']); + NotificationFacade::fake(); + + $limit_per_minute = (int) config('app.throttles.email.minute'); $invoice = $this->dispatch(new CreateDocument($this->getRequest())); - for ($i = 0; $i < config('app.throttles.email.minute'); $i++) { + for ($i = 0; $i < $limit_per_minute; $i++) { $this->loginAs() ->post(route('modals.invoices.emails.store', $invoice->id), $this->getEmailRequest($invoice)); } @@ -157,6 +162,8 @@ class InvoicesTest extends FeatureTestCase ->assertJson([ 'success' => false, ]); + + NotificationFacade::assertSentTimes(Notification::class, $limit_per_minute); } public function testItShouldSeeInvoiceUpdatePage()