From 15650d3d6b93cb1bd0201ff3fd0b58e8bce45989 Mon Sep 17 00:00:00 2001 From: denisdulici Date: Sun, 22 Dec 2019 18:57:04 +0300 Subject: [PATCH] fixed tests --- app/Jobs/Common/CreateCompany.php | 18 +++++++++++---- database/seeds/TestCompany.php | 37 +++++++++++-------------------- tests/Feature/FeatureTestCase.php | 2 ++ 3 files changed, 29 insertions(+), 28 deletions(-) diff --git a/app/Jobs/Common/CreateCompany.php b/app/Jobs/Common/CreateCompany.php index cfffbc08e..696987a4f 100644 --- a/app/Jobs/Common/CreateCompany.php +++ b/app/Jobs/Common/CreateCompany.php @@ -36,7 +36,7 @@ class CreateCompany extends Job $this->callSeeds(); - $this->createSettings(); + $this->updateSettings(); return $this->company; } @@ -48,17 +48,21 @@ class CreateCompany extends Job 'company' => $this->company->id ]); + if (!$user = user()) { + return; + } + // Attach company to user logged in - user()->companies()->attach($this->company->id); + $user->companies()->attach($this->company->id); // User seeds Artisan::call('user:seed', [ - 'user' => user()->id, + 'user' => $user->id, 'company' => $this->company->id, ]); } - protected function createSettings() + protected function updateSettings() { setting()->setExtraColumns(['company_id' => $this->company->id]); @@ -81,6 +85,12 @@ class CreateCompany extends Job 'default.locale' => $this->request->get('locale', 'en-GB'), ]); + if (!empty($this->request->settings)) { + foreach ($this->request->settings as $name => $value) { + setting()->set([$name => $value]); + } + } + setting()->save(); setting()->forgetAll(); } diff --git a/database/seeds/TestCompany.php b/database/seeds/TestCompany.php index 711708608..59d0eec40 100644 --- a/database/seeds/TestCompany.php +++ b/database/seeds/TestCompany.php @@ -4,7 +4,7 @@ namespace Database\Seeds; use App\Abstracts\Model; use App\Jobs\Auth\CreateUser; -use App\Models\Common\Company; +use App\Jobs\Common\CreateCompany; use App\Traits\Jobs; use Illuminate\Database\Seeder; @@ -32,28 +32,17 @@ class TestCompany extends Seeder private function createCompany() { - Company::create([ - 'domain' => 'test.com', - ]); - - setting()->setExtraColumns(['company_id' => '1']); - setting()->set([ - 'company.name' => 'Test Company', - 'company.email' => 'test@company.com', - 'company.address' => 'New Street 1254', - 'localisation.financial_start' => '01-01', - 'default.currency' => 'USD', - 'default.account' => '1', - 'default.payment_method' => 'offline-payments.cash.1', - 'schedule.bill_days' => '10,5,3,1', - 'schedule.invoice_days' => '1,3,5,10', - 'schedule.send_invoice_reminder' => '1', - 'schedule.send_bill_reminder' => '1', - 'wizard.completed' => '1', - 'contact.type.customer' => 'customer', - 'contact.type.vendor' => 'vendor', - ]); - setting()->save(); + $this->dispatch(new CreateCompany([ + 'name' => 'My Company', + 'domain' => 'company.com', + 'address' => 'New Street 1254', + 'currency' => 'USD', + 'locale' => 'en-GB', + 'enabled' => '1', + 'settings' => [ + 'wizard.completed' => '1', + ], + ])); $this->command->info('Test company created.'); } @@ -61,7 +50,7 @@ class TestCompany extends Seeder public function createUser() { $this->dispatch(new CreateUser([ - 'name' => 'Test', + 'name' => 'Test User', 'email' => 'test@company.com', 'password' => '123456', 'locale' => 'en-GB', diff --git a/tests/Feature/FeatureTestCase.php b/tests/Feature/FeatureTestCase.php index f008c8884..d723b9bed 100644 --- a/tests/Feature/FeatureTestCase.php +++ b/tests/Feature/FeatureTestCase.php @@ -19,6 +19,8 @@ abstract class FeatureTestCase extends TestCase { parent::setUp(); + $this->withoutExceptionHandling(); + $this->faker = Factory::create(); $this->user = User::first(); $this->company = $this->user->companies()->first();