added notification fake
This commit is contained in:
parent
31c5891025
commit
a20b761ce4
@ -8,6 +8,7 @@ use App\Notifications\Banking\Transaction as Notification;
|
|||||||
use App\Models\Banking\Transaction;
|
use App\Models\Banking\Transaction;
|
||||||
use Illuminate\Http\UploadedFile;
|
use Illuminate\Http\UploadedFile;
|
||||||
use Illuminate\Support\Facades\File;
|
use Illuminate\Support\Facades\File;
|
||||||
|
use Illuminate\Support\Facades\Notification as NotificationFacade;
|
||||||
use Maatwebsite\Excel\Facades\Excel;
|
use Maatwebsite\Excel\Facades\Excel;
|
||||||
use Tests\Feature\FeatureTestCase;
|
use Tests\Feature\FeatureTestCase;
|
||||||
|
|
||||||
@ -73,7 +74,7 @@ class TransactionsTest extends FeatureTestCase
|
|||||||
|
|
||||||
public function testItShouldSendTransactionEmail()
|
public function testItShouldSendTransactionEmail()
|
||||||
{
|
{
|
||||||
config(['mail.default' => 'array']);
|
NotificationFacade::fake();
|
||||||
|
|
||||||
$transaction = $this->dispatch(new CreateTransaction($this->getRequest()));
|
$transaction = $this->dispatch(new CreateTransaction($this->getRequest()));
|
||||||
|
|
||||||
@ -82,15 +83,19 @@ class TransactionsTest extends FeatureTestCase
|
|||||||
->assertStatus(200);
|
->assertStatus(200);
|
||||||
|
|
||||||
$this->assertFlashLevel('success');
|
$this->assertFlashLevel('success');
|
||||||
|
|
||||||
|
NotificationFacade::assertSentTo($transaction->contact, Notification::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testItShouldHitRateLimitForSendTransactionEmail()
|
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()));
|
$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()
|
$this->loginAs()
|
||||||
->post(route('modals.transactions.emails.store', $transaction->id), $this->getEmailRequest($transaction));
|
->post(route('modals.transactions.emails.store', $transaction->id), $this->getEmailRequest($transaction));
|
||||||
}
|
}
|
||||||
@ -100,6 +105,8 @@ class TransactionsTest extends FeatureTestCase
|
|||||||
->assertJson([
|
->assertJson([
|
||||||
'success' => false,
|
'success' => false,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
NotificationFacade::assertSentTimes(Notification::class, $limit_per_minute);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testItShouldSeeTransactionUpdatePage()
|
public function testItShouldSeeTransactionUpdatePage()
|
||||||
|
@ -10,6 +10,7 @@ use Illuminate\Http\UploadedFile;
|
|||||||
use Illuminate\Support\Carbon;
|
use Illuminate\Support\Carbon;
|
||||||
use Illuminate\Support\Facades\File;
|
use Illuminate\Support\Facades\File;
|
||||||
use Illuminate\Support\Facades\Storage;
|
use Illuminate\Support\Facades\Storage;
|
||||||
|
use Illuminate\Support\Facades\Notification as NotificationFacade;
|
||||||
use Maatwebsite\Excel\Facades\Excel;
|
use Maatwebsite\Excel\Facades\Excel;
|
||||||
use Tests\Feature\FeatureTestCase;
|
use Tests\Feature\FeatureTestCase;
|
||||||
|
|
||||||
@ -130,7 +131,7 @@ class InvoicesTest extends FeatureTestCase
|
|||||||
|
|
||||||
public function testItShouldSendInvoiceEmail()
|
public function testItShouldSendInvoiceEmail()
|
||||||
{
|
{
|
||||||
config(['mail.default' => 'array']);
|
NotificationFacade::fake();
|
||||||
|
|
||||||
$invoice = $this->dispatch(new CreateDocument($this->getRequest()));
|
$invoice = $this->dispatch(new CreateDocument($this->getRequest()));
|
||||||
|
|
||||||
@ -139,15 +140,19 @@ class InvoicesTest extends FeatureTestCase
|
|||||||
->assertStatus(200);
|
->assertStatus(200);
|
||||||
|
|
||||||
$this->assertFlashLevel('success');
|
$this->assertFlashLevel('success');
|
||||||
|
|
||||||
|
NotificationFacade::assertSentTo($invoice->contact, Notification::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testItShouldHitRateLimitForSendInvoiceEmail()
|
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()));
|
$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()
|
$this->loginAs()
|
||||||
->post(route('modals.invoices.emails.store', $invoice->id), $this->getEmailRequest($invoice));
|
->post(route('modals.invoices.emails.store', $invoice->id), $this->getEmailRequest($invoice));
|
||||||
}
|
}
|
||||||
@ -157,6 +162,8 @@ class InvoicesTest extends FeatureTestCase
|
|||||||
->assertJson([
|
->assertJson([
|
||||||
'success' => false,
|
'success' => false,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
NotificationFacade::assertSentTimes(Notification::class, $limit_per_minute);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testItShouldSeeInvoiceUpdatePage()
|
public function testItShouldSeeInvoiceUpdatePage()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user