Skip to content

Commit

Permalink
added notification fake
Browse files Browse the repository at this point in the history
  • Loading branch information
denisdulici committed Mar 22, 2023
1 parent 31c5891 commit a20b761
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 6 deletions.
13 changes: 10 additions & 3 deletions tests/Feature/Banking/TransactionsTest.php
Expand Up @@ -8,6 +8,7 @@
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;

Expand Down Expand Up @@ -73,7 +74,7 @@ public function testItShouldCreateTransactionWithRecurring()

public function testItShouldSendTransactionEmail()
{
config(['mail.default' => 'array']);
NotificationFacade::fake();

$transaction = $this->dispatch(new CreateTransaction($this->getRequest()));

Expand All @@ -82,15 +83,19 @@ public function testItShouldSendTransactionEmail()
->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));
}
Expand All @@ -100,6 +105,8 @@ public function testItShouldHitRateLimitForSendTransactionEmail()
->assertJson([
'success' => false,
]);

NotificationFacade::assertSentTimes(Notification::class, $limit_per_minute);
}

public function testItShouldSeeTransactionUpdatePage()
Expand Down
13 changes: 10 additions & 3 deletions tests/Feature/Sales/InvoicesTest.php
Expand Up @@ -10,6 +10,7 @@
use Illuminate\Support\Carbon;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\Notification as NotificationFacade;
use Maatwebsite\Excel\Facades\Excel;
use Tests\Feature\FeatureTestCase;

Expand Down Expand Up @@ -130,7 +131,7 @@ public function testItShouldCreateInvoiceWithRecurring()

public function testItShouldSendInvoiceEmail()
{
config(['mail.default' => 'array']);
NotificationFacade::fake();

$invoice = $this->dispatch(new CreateDocument($this->getRequest()));

Expand All @@ -139,15 +140,19 @@ public function testItShouldSendInvoiceEmail()
->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));
}
Expand All @@ -157,6 +162,8 @@ public function testItShouldHitRateLimitForSendInvoiceEmail()
->assertJson([
'success' => false,
]);

NotificationFacade::assertSentTimes(Notification::class, $limit_per_minute);
}

public function testItShouldSeeInvoiceUpdatePage()
Expand Down

0 comments on commit a20b761

Please sign in to comment.