mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2024-09-20 08:21:34 +02:00
Trying to fix chrome for laravel dusk - travis
This commit is contained in:
parent
c2cd8e9d14
commit
56d4a98707
@ -4,6 +4,10 @@ sudo: true
|
||||
|
||||
dist: xenial
|
||||
|
||||
services:
|
||||
- mysql
|
||||
- xvfb
|
||||
|
||||
# Prevent tests from taking more than 50 minutes
|
||||
group: deprecated-2017Q4
|
||||
|
||||
@ -48,10 +52,6 @@ install:
|
||||
# - sed -i '/2checkout/d' composer.json
|
||||
- travis_retry composer install --no-interaction
|
||||
|
||||
services:
|
||||
- mysql
|
||||
- xvfb
|
||||
|
||||
before_script:
|
||||
# copy configuration files
|
||||
- php artisan key:generate --no-interaction
|
||||
@ -72,6 +72,7 @@ before_script:
|
||||
# Start webserver on ninja.test:8000
|
||||
- export DISPLAY=:99.0
|
||||
- sh -e /etc/init.d/xvfb start
|
||||
- sleep 3
|
||||
- ./vendor/laravel/dusk/bin/chromedriver-linux &
|
||||
- php artisan serve &
|
||||
|
||||
|
@ -53,7 +53,7 @@ class ClientSettings extends BaseSettings
|
||||
*/
|
||||
public $industry_id;
|
||||
public $size_id;
|
||||
public $invoice_email_list; //default comma separated list of contacts to email
|
||||
public $invoice_email_list; //default comma separated list of contact ids to email
|
||||
|
||||
/**
|
||||
* Cast object values and return entire class
|
||||
@ -96,7 +96,7 @@ class ClientSettings extends BaseSettings
|
||||
'custom_taxes1' => NULL,
|
||||
'custom_taxes2' => NULL,
|
||||
'lock_sent_invoices' => NULL,
|
||||
'invoice_email_list' => NULL,
|
||||
'invoice_email_list' => NULL,
|
||||
];
|
||||
|
||||
}
|
||||
|
29
app/Events/Invoice/InvoiceWasMarkedSent.php
Normal file
29
app/Events/Invoice/InvoiceWasMarkedSent.php
Normal file
@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace App\Events\Invoice;
|
||||
|
||||
use App\Models\Invoice;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
|
||||
/**
|
||||
* Class InvoiceWasMarkedSent.
|
||||
*/
|
||||
class InvoiceWasMarkedSent
|
||||
{
|
||||
use SerializesModels;
|
||||
|
||||
/**
|
||||
* @var Invoice
|
||||
*/
|
||||
public $invoice;
|
||||
|
||||
/**
|
||||
* Create a new event instance.
|
||||
*
|
||||
* @param Invoice $invoice
|
||||
*/
|
||||
public function __construct(Invoice $invoice)
|
||||
{
|
||||
$this->invoice = $invoice;
|
||||
}
|
||||
}
|
44
app/Listeners/Invoice/CreateInvoiceInvitations.php
Normal file
44
app/Listeners/Invoice/CreateInvoiceInvitations.php
Normal file
@ -0,0 +1,44 @@
|
||||
<?php
|
||||
|
||||
namespace App\Listeners\Invoice;
|
||||
|
||||
use App\Models\ClientContact;
|
||||
use App\Models\InvoiceInvitation;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
use Illuminate\Queue\InteractsWithQueue;
|
||||
|
||||
class CreateInvoiceInvitations
|
||||
{
|
||||
/**
|
||||
* Create the event listener.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the event.
|
||||
*
|
||||
* @param object $event
|
||||
* @return void
|
||||
*/
|
||||
public function handle($event)
|
||||
{
|
||||
|
||||
$invoice = $event->invoice;
|
||||
|
||||
$contacts = ClientContact::whereIn('id', explode(',', $invoice->settings->invoice_email_list))->get();
|
||||
|
||||
$contacts->each(function ($contact) use($invoice) {
|
||||
|
||||
InvoiceInvitation::create([
|
||||
|
||||
]);
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
}
|
@ -3,6 +3,7 @@
|
||||
namespace App\Providers;
|
||||
|
||||
use App\Events\Client\ClientWasCreated;
|
||||
use App\Events\Invoice\InvoiceWasMarkedSent;
|
||||
use App\Events\User\UserCreated;
|
||||
use App\Listeners\Client\CreatedClientActivity;
|
||||
use App\Listeners\SendVerificationNotification;
|
||||
@ -39,6 +40,13 @@ class EventServiceProvider extends ServiceProvider
|
||||
'App\Events\ClientWasRestored' => [
|
||||
'App\Listeners\ActivityListener@restoredClient',
|
||||
],
|
||||
|
||||
//Invoices
|
||||
[
|
||||
InvoiceWasMarkedSent::class => [
|
||||
CreateInvoiceInvitations::class
|
||||
]
|
||||
],
|
||||
];
|
||||
|
||||
/**
|
||||
|
@ -4,6 +4,7 @@ namespace Tests\Feature;
|
||||
|
||||
use App\Models\Account;
|
||||
use App\Models\Client;
|
||||
use App\Models\ClientContact;
|
||||
use App\Models\Company;
|
||||
use App\Models\User;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
@ -205,9 +206,16 @@ class ClientTest extends TestCase
|
||||
|
||||
$client = Client::all()->first();
|
||||
|
||||
/* Make sure we have a valid settings object*/
|
||||
$this->assertEquals($client->getSettings()->timezone_id, 15);
|
||||
|
||||
/* Make sure we are harvesting valid data */
|
||||
$this->assertEquals($client->timezone()->name, 'US/Eastern');
|
||||
|
||||
$contacts = ClientContact::whereIn('id', explode(',', $client->getSettings()->invoice_email_list))->get();
|
||||
|
||||
/* Make sure NULL settings return the correct count (0) instead of throwing an exception*/
|
||||
$this->assertEquals(count($contacts), 0);
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user