Fixes for tests

This commit is contained in:
David Bomba 2021-08-31 10:16:26 +10:00
parent b22831f42e
commit fd0a162197
8 changed files with 62 additions and 9 deletions

View File

@ -116,7 +116,7 @@ class SendRecurring implements ShouldQueue
nlog("Invoice {$invoice->number} created");
$invoice->invitations->each(function ($invitation) use ($invoice) {
if ($invitation->contact && strlen($invitation->contact->email) >=1 && $invoice->client->getSetting('auto_email_invoice')) {
if ($invitation->contact && !$invitation->contact->trashed() && strlen($invitation->contact->email) >=1 && $invoice->client->getSetting('auto_email_invoice')) {
try{
EmailEntity::dispatch($invitation, $invoice->company);

View File

@ -63,7 +63,7 @@ class SendFailedEmails implements ShouldQueue
$invitation = $job_meta_array['entity_name']::where('key', $job_meta_array['invitation_key'])->with('contact')->first();
if ($invitation->invoice) {
if ($invitation->contact->send_email && $invitation->contact->email) {
if (!$invitation->contact->trashed() && $invitation->contact->send_email && $invitation->contact->email) {
EmailEntity::dispatch($invitation, $invitation->company, $job_meta_array['reminder_template']);
}
}

View File

@ -394,7 +394,7 @@ class BaseDriver extends AbstractPaymentDriver
$invoices->first()->invitations->each(function ($invitation) use ($nmo){
if ($invitation->contact->send_email && $invitation->contact->email) {
if (!$invitation->contact->trashed() && $invitation->contact->send_email && $invitation->contact->email) {
$nmo->to_user = $invitation->contact;
NinjaMailerJob::dispatch($nmo);
@ -456,7 +456,7 @@ class BaseDriver extends AbstractPaymentDriver
$invoices->first()->invitations->each(function ($invitation) use ($nmo){
if ($invitation->contact->send_email && $invitation->contact->email) {
if (!$invitation->contact->trashed() && $invitation->contact->send_email && $invitation->contact->email) {
$nmo->to_user = $invitation->contact;
NinjaMailerJob::dispatch($nmo);

View File

@ -44,7 +44,7 @@ class SendEmail
}
$this->credit->invitations->each(function ($invitation) {
if ($invitation->contact->send_email && $invitation->contact->email) {
if (!$invitation->contact->trashed() && $invitation->contact->send_email && $invitation->contact->email) {
$email_builder = (new CreditEmail())->build($invitation, $this->reminder_template);
// EmailCredit::dispatchNow($email_builder, $invitation, $invitation->company);

View File

@ -44,7 +44,7 @@ class SendEmail extends AbstractService
}
$this->invoice->invitations->each(function ($invitation) {
if ($invitation->contact->send_email && $invitation->contact->email) {
if (!$invitation->contact->trashed() && $invitation->contact->send_email && $invitation->contact->email) {
EmailEntity::dispatchNow($invitation, $invitation->company, $this->reminder_template);
}
});

View File

@ -42,7 +42,7 @@ class SendEmail
}
$this->quote->invitations->each(function ($invitation) {
if ($invitation->contact->send_email && $invitation->contact->email) {
if (!$invitation->contact->trashed() && $invitation->contact->send_email && $invitation->contact->email) {
EmailEntity::dispatchNow($invitation, $invitation->company, $this->reminder_template);
}
});

View File

@ -54,11 +54,11 @@ class CancelInvoiceTest extends TestCase
$this->assertEquals(Invoice::STATUS_SENT, $this->invoice->status_id);
$this->invoice->service()->handleCancellation()->save();
$this->invoice->fresh()->service()->handleCancellation()->save();
$this->assertEquals(0, $this->invoice->fresh()->balance);
$this->assertEquals($this->client->fresh()->balance, ($client_balance - $invoice_balance));
$this->assertNotEquals($client_balance, $this->client->fresh()->balance);
$this->assertEquals(Invoice::STATUS_CANCELLED, $this->invoice->status_id);
$this->assertEquals(Invoice::STATUS_CANCELLED, $this->invoice->fresh()->status_id);
}
}

View File

@ -14,6 +14,7 @@ use App\Factory\ClientFactory;
use App\Factory\CreditFactory;
use App\Factory\InvoiceFactory;
use App\Helpers\Invoice\InvoiceSum;
use App\Models\ClientContact;
use App\Models\Invoice;
use App\Models\Payment;
use App\Utils\Traits\MakesHash;
@ -63,6 +64,14 @@ class RefundTest extends TestCase
$client = ClientFactory::create($this->company->id, $this->user->id);
$client->save();
$contact = ClientContact::factory()->create([
'user_id' => $this->user->id,
'client_id' => $client->id,
'company_id' => $this->company->id,
'is_primary' => 1,
'send_email' => true,
]);
$this->invoice = InvoiceFactory::create($this->company->id, $this->user->id); //stub the company and user_id
$this->invoice->client_id = $client->id;
$this->invoice->status_id = Invoice::STATUS_SENT;
@ -138,6 +147,15 @@ class RefundTest extends TestCase
$client = ClientFactory::create($this->company->id, $this->user->id);
$client->save();
$contact = ClientContact::factory()->create([
'user_id' => $this->user->id,
'client_id' => $client->id,
'company_id' => $this->company->id,
'is_primary' => 1,
'send_email' => true,
]);
$this->invoice = InvoiceFactory::create($this->company->id, $this->user->id); //stub the company and user_id
$this->invoice->client_id = $client->id;
$this->invoice->status_id = Invoice::STATUS_SENT;
@ -227,6 +245,14 @@ class RefundTest extends TestCase
$client = ClientFactory::create($this->company->id, $this->user->id);
$client->save();
$contact = ClientContact::factory()->create([
'user_id' => $this->user->id,
'client_id' => $client->id,
'company_id' => $this->company->id,
'is_primary' => 1,
'send_email' => true,
]);
$this->invoice = InvoiceFactory::create($this->company->id, $this->user->id); //stub the company and user_id
$this->invoice->client_id = $client->id;
$this->invoice->status_id = Invoice::STATUS_SENT;
@ -303,6 +329,15 @@ class RefundTest extends TestCase
$client = ClientFactory::create($this->company->id, $this->user->id);
$client->save();
$contact = ClientContact::factory()->create([
'user_id' => $this->user->id,
'client_id' => $client->id,
'company_id' => $this->company->id,
'is_primary' => 1,
'send_email' => true,
]);
$this->invoice = InvoiceFactory::create($this->company->id, $this->user->id); //stub the company and user_id
$this->invoice->client_id = $client->id;
$this->invoice->status_id = Invoice::STATUS_SENT;
@ -388,6 +423,15 @@ class RefundTest extends TestCase
$client = ClientFactory::create($this->company->id, $this->user->id);
$client->save();
$contact = ClientContact::factory()->create([
'user_id' => $this->user->id,
'client_id' => $client->id,
'company_id' => $this->company->id,
'is_primary' => 1,
'send_email' => true,
]);
$this->invoice = InvoiceFactory::create($this->company->id, $this->user->id); //stub the company and user_id
$this->invoice->client_id = $client->id;
$this->invoice->status_id = Invoice::STATUS_SENT;
@ -497,6 +541,15 @@ class RefundTest extends TestCase
$client = ClientFactory::create($this->company->id, $this->user->id);
$client->save();
$contact = ClientContact::factory()->create([
'user_id' => $this->user->id,
'client_id' => $client->id,
'company_id' => $this->company->id,
'is_primary' => 1,
'send_email' => true,
]);
$this->invoice = InvoiceFactory::create($this->company->id, $this->user->id); //stub the company and user_id
$this->invoice->client_id = $client->id;
$this->invoice->status_id = Invoice::STATUS_SENT;