diff --git a/app/Http/Controllers/CompanyController.php b/app/Http/Controllers/CompanyController.php index bc8f358f2705..246be691df3c 100644 --- a/app/Http/Controllers/CompanyController.php +++ b/app/Http/Controllers/CompanyController.php @@ -91,7 +91,7 @@ class CompanyController extends BaseController public function store(StoreCompanyRequest $request) { - $company = CreateCompany::dispatchNow($request, auth()->user()->company()->account); + $company = CreateCompany::dispatchNow($request->all(), auth()->user()->company()->account); return $this->itemResponse($company); diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php index 6a2690654169..d63f7ee6195c 100644 --- a/app/Providers/AuthServiceProvider.php +++ b/app/Providers/AuthServiceProvider.php @@ -12,6 +12,7 @@ namespace App\Providers; use App\Models\Client; +use App\Models\Company; use App\Models\Invoice; use App\Models\Payment; use App\Models\Product; @@ -20,6 +21,7 @@ use App\Models\RecurringInvoice; use App\Models\RecurringQuote; use App\Models\User; use App\Policies\ClientPolicy; +use App\Policies\CompanyPolicy; use App\Policies\InvoicePolicy; use App\Policies\PaymentPolicy; use App\Policies\ProductPolicy; @@ -40,6 +42,7 @@ class AuthServiceProvider extends ServiceProvider */ protected $policies = [ Client::class => ClientPolicy::class, + Company::class => CompanyPolicy::class, Product::class => ProductPolicy::class, Invoice::class => InvoicePolicy::class, Payment::class => PaymentPolicy::class, diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php index e3e6186cda72..4734a255db04 100644 --- a/app/Providers/RouteServiceProvider.php +++ b/app/Providers/RouteServiceProvider.php @@ -81,6 +81,10 @@ class RouteServiceProvider extends ServiceProvider return \App\Models\Company::withTrashed()->where('id', $this->decodePrimaryKey($value))->firstOrFail(); }); + Route::bind('companies', function ($value) { + return \App\Models\Company::withTrashed()->where('id', $this->decodePrimaryKey($value))->firstOrFail(); + }); + Route::bind('account', function ($value) { return \App\Models\Account::withTrashed()->where('id', $this->decodePrimaryKey($value))->firstOrFail(); }); diff --git a/tests/Feature/CompanyTest.php b/tests/Feature/CompanyTest.php index 256e4022ca9b..7f5425da9b74 100644 --- a/tests/Feature/CompanyTest.php +++ b/tests/Feature/CompanyTest.php @@ -70,7 +70,7 @@ class CompanyTest extends TestCase $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $token, - ])->get('/api/v1/copmanies'); + ])->get('/api/v1/companies'); $response->assertStatus(200); @@ -83,25 +83,28 @@ class CompanyTest extends TestCase 'name' => 'A New Company' ] ) - ->assertStatus(200); + ->assertStatus(200)->decodeResponseJson(); - $product = Product::all()->first(); + $company = Company::find($this->decodePrimaryKey($response['data']['id'])); + +Log::error('coco'); +Log::error($company); - $product_update = [ - 'notes' => 'CHANGE' + $company_update = [ + 'name' => 'CHANGE NAME' ]; $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $token, - ])->put('/api/v1/products/'.$this->encodePrimaryKey($product->id), $product_update) + ])->put('/api/v1/companies/'.$this->encodePrimaryKey($company->id), $company_update) ->assertStatus(200); $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $token, - ])->delete('/api/v1/products/'.$this->encodePrimaryKey($product->id)) + ])->delete('/api/v1/companies/'.$this->encodePrimaryKey($company->id)) ->assertStatus(200); } }