From 40304e366d1f70d75afc38cd31180a21b63eb4af Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 30 Dec 2025 14:43:40 +0000 Subject: [PATCH 1/6] Initial plan From 9ab45da81ed734122ce92d07701efe9ab4d636b8 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 30 Dec 2025 14:50:56 +0000 Subject: [PATCH 2/6] Fix PHPStan errors: correct property types and add type hints Co-authored-by: nielsdrost7 <47660417+nielsdrost7@users.noreply.github.com> --- Modules/Core/Database/Seeders/AbstractSeeder.php | 2 ++ Modules/Expenses/Models/Expense.php | 4 ++-- Modules/Quotes/Models/Quote.php | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Modules/Core/Database/Seeders/AbstractSeeder.php b/Modules/Core/Database/Seeders/AbstractSeeder.php index d750f7d30..82861d38f 100644 --- a/Modules/Core/Database/Seeders/AbstractSeeder.php +++ b/Modules/Core/Database/Seeders/AbstractSeeder.php @@ -75,11 +75,13 @@ protected function findOrCreateCustomer(int $companyId): Relation protected function findOrCreateNumbering(?int $companyId): Numbering { + /** @var Numbering|null $documentGroup */ $documentGroup = Numbering::query()->where('company_id', $this->companyId) ->inRandomOrder() ->first(); if ( ! $documentGroup) { + /** @var Numbering $documentGroup */ $documentGroup = Numbering::factory()->state([ 'company_id' => $companyId, ]) diff --git a/Modules/Expenses/Models/Expense.php b/Modules/Expenses/Models/Expense.php index 5a9bbe2c7..07ce57d0a 100644 --- a/Modules/Expenses/Models/Expense.php +++ b/Modules/Expenses/Models/Expense.php @@ -28,8 +28,8 @@ * @property int|null $category_id * @property int|null $user_id * @property string $expense_number - * @property string $expense_status - * @property string $expense_type + * @property ExpenseStatus $expense_status + * @property ExpenseType $expense_type * @property Carbon $expensed_at * @property float $expense_amount * @property string|null $description diff --git a/Modules/Quotes/Models/Quote.php b/Modules/Quotes/Models/Quote.php index 1c1d9b5d0..3fb8aedce 100644 --- a/Modules/Quotes/Models/Quote.php +++ b/Modules/Quotes/Models/Quote.php @@ -27,7 +27,7 @@ * @property int|null $numbering_id * @property int $user_id * @property string $quote_number - * @property string $quote_status + * @property QuoteStatus $quote_status * @property Carbon|null $quoted_at * @property Carbon|null $quote_expires_at * @property float $quote_discount_amount From 0f24ea5a86169f0b181cc26f19f23fa07328e0e9 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 30 Dec 2025 15:06:59 +0000 Subject: [PATCH 3/6] Fix remaining enum docblock type mismatches in 8 more models Co-authored-by: nielsdrost7 <47660417+nielsdrost7@users.noreply.github.com> --- Modules/Clients/Models/Address.php | 2 +- Modules/Clients/Models/Contact.php | 2 +- Modules/Clients/Models/Relation.php | 4 ++-- Modules/Core/Models/EmailTemplate.php | 10 +++++----- Modules/Core/Models/TaxRate.php | 2 +- Modules/Products/Models/Product.php | 2 +- Modules/Projects/Models/Project.php | 2 +- Modules/Projects/Models/Task.php | 2 +- 8 files changed, 13 insertions(+), 13 deletions(-) diff --git a/Modules/Clients/Models/Address.php b/Modules/Clients/Models/Address.php index a2854f06c..6de53c00c 100644 --- a/Modules/Clients/Models/Address.php +++ b/Modules/Clients/Models/Address.php @@ -14,7 +14,7 @@ /** * @property int $id * @property int $company_id - * @property string $type + * @property AddressType $type * @property string|null $address_1 * @property string|null $address_2 * @property string|null $number diff --git a/Modules/Clients/Models/Contact.php b/Modules/Clients/Models/Contact.php index a79f10e2d..88b5258b2 100644 --- a/Modules/Clients/Models/Contact.php +++ b/Modules/Clients/Models/Contact.php @@ -24,7 +24,7 @@ * @property bool|null $default_to * @property bool|null $default_cc * @property bool|null $default_bcc - * @property string|null $gender + * @property Gender|null $gender * @property Company $company * @property Relation $relation * @property Collection|Relation[] $relations diff --git a/Modules/Clients/Models/Relation.php b/Modules/Clients/Models/Relation.php index b6e615abf..d8c0b342f 100644 --- a/Modules/Clients/Models/Relation.php +++ b/Modules/Clients/Models/Relation.php @@ -29,8 +29,8 @@ * @property int $id * @property int $company_id * @property int|null $primary_contact_id - * @property string $relation_type - * @property string $relation_status + * @property RelationType $relation_type + * @property RelationStatus $relation_status * @property string $relation_number * @property string $company_name * @property string|null $trading_name diff --git a/Modules/Core/Models/EmailTemplate.php b/Modules/Core/Models/EmailTemplate.php index e17e371b2..8c2cbfa54 100644 --- a/Modules/Core/Models/EmailTemplate.php +++ b/Modules/Core/Models/EmailTemplate.php @@ -10,11 +10,11 @@ use Modules\Core\Traits\BelongsToCompany; /** - * @property int $id - * @property int $company_id - * @property string|null $title - * @property string|null $type - * @property string $body + * @property int $id + * @property int $company_id + * @property string|null $title + * @property EmailTemplateType|null $type + * @property string $body * @property string|null $subject * @property string|null $from_name * @property string|null $from_email diff --git a/Modules/Core/Models/TaxRate.php b/Modules/Core/Models/TaxRate.php index 332b3ef1f..56c99aed0 100644 --- a/Modules/Core/Models/TaxRate.php +++ b/Modules/Core/Models/TaxRate.php @@ -22,7 +22,7 @@ /** * @property int $id * @property int $company_id - * @property string $tax_rate_type + * @property TaxRateType $tax_rate_type * @property bool $is_active * @property string $code * @property string $name diff --git a/Modules/Products/Models/Product.php b/Modules/Products/Models/Product.php index 7cd036902..ed99638e3 100644 --- a/Modules/Products/Models/Product.php +++ b/Modules/Products/Models/Product.php @@ -22,7 +22,7 @@ * @property int $company_id * @property int $category_id * @property int|null $unit_id - * @property string $type + * @property ProductType $type * @property string|null $code * @property string|null $product_name * @property float|null $price diff --git a/Modules/Projects/Models/Project.php b/Modules/Projects/Models/Project.php index 62d6ca322..79ab66f44 100644 --- a/Modules/Projects/Models/Project.php +++ b/Modules/Projects/Models/Project.php @@ -20,7 +20,7 @@ * @property int $company_id * @property int $customer_id * @property int|null $numbering_id - * @property string $project_status + * @property ProjectStatus $project_status * @property string|null $project_name * @property string|null $project_number * @property Carbon|null $start_at diff --git a/Modules/Projects/Models/Task.php b/Modules/Projects/Models/Task.php index 7fabc2732..881e25fd3 100644 --- a/Modules/Projects/Models/Task.php +++ b/Modules/Projects/Models/Task.php @@ -23,7 +23,7 @@ * @property int|null $tax_rate_id * @property int|null $assigned_to * @property string|null $task_number - * @property string $task_status + * @property TaskStatus $task_status * @property string|null $task_name * @property float|null $task_price * @property Carbon|null $due_at From bddd2deae62ebe149a3802baf644ab14b0ec5b60 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 30 Dec 2025 15:26:55 +0000 Subject: [PATCH 4/6] Add type annotations to AbstractSeeder methods and widget queries Co-authored-by: nielsdrost7 <47660417+nielsdrost7@users.noreply.github.com> --- .../Core/Database/Seeders/AbstractSeeder.php | 26 ++++++++++++++++++- .../Core/Tests/AbstractAdminPanelTestCase.php | 8 ++++-- .../NumberGeneratorTemplateTest.php | 4 ++- .../Company/Widgets/RecentExpensesWidget.php | 5 +++- .../Company/Widgets/RecentInvoicesWidget.php | 5 +++- .../Company/Widgets/RecentPaymentsWidget.php | 5 +++- .../Company/Widgets/RecentProjectsWidget.php | 6 +++-- .../Company/Widgets/RecentTasksWidget.php | 6 +++-- .../Company/Widgets/RecentQuotesWidget.php | 5 +++- 9 files changed, 58 insertions(+), 12 deletions(-) diff --git a/Modules/Core/Database/Seeders/AbstractSeeder.php b/Modules/Core/Database/Seeders/AbstractSeeder.php index 82861d38f..009a57059 100644 --- a/Modules/Core/Database/Seeders/AbstractSeeder.php +++ b/Modules/Core/Database/Seeders/AbstractSeeder.php @@ -58,12 +58,14 @@ protected function company(): Company protected function findOrCreateCustomer(int $companyId): Relation { + /** @var Relation|null $customer */ $customer = Relation::query()->where('company_id', $companyId) ->where('relation_type', RelationType::CUSTOMER->value) ->inRandomOrder() ->first(); if ( ! $customer) { + /** @var Relation $customer */ $customer = Relation::factory() ->customer() ->state(['company_id' => $companyId]) @@ -93,11 +95,13 @@ protected function findOrCreateNumbering(?int $companyId): Numbering protected function findOrCreateExpenseCategory(?int $companyId): ExpenseCategory { + /** @var ExpenseCategory|null $category */ $category = ExpenseCategory::query()->where('company_id', $this->companyId) ->inRandomOrder() ->first(); if ( ! $category) { + /** @var ExpenseCategory $category */ $category = ExpenseCategory::factory()->state([ 'company_id' => $companyId, ]) @@ -109,6 +113,7 @@ protected function findOrCreateExpenseCategory(?int $companyId): ExpenseCategory protected function findOrCreateInvoice(?int $companyId): Invoice { + /** @var Invoice|null $invoice */ $invoice = Invoice::query()->where('company_id', $this->companyId) ->inRandomOrder() ->first(); @@ -116,6 +121,7 @@ protected function findOrCreateInvoice(?int $companyId): Invoice if ( ! $invoice) { $documentGroup = $this->findOrCreateNumbering($companyId); + /** @var Invoice $invoice */ $invoice = Invoice::factory()->state([ 'company_id' => $this->companyId, 'numbering_id' => $documentGroup->id, @@ -128,8 +134,10 @@ protected function findOrCreateInvoice(?int $companyId): Invoice protected function findOrCreateProduct(int $companyId): Product { + /** @var Product|null $product */ $product = Product::query()->where('company_id', $companyId)->inRandomOrder()->first(); if ( ! $product) { + /** @var Product $product */ $product = Product::factory()->state(['company_id' => $companyId])->create(); } @@ -138,10 +146,12 @@ protected function findOrCreateProduct(int $companyId): Product protected function findOrCreateProductCategory(int $companyId): ProductCategory { + /** @var ProductCategory|null $prodCat */ $prodCat = ProductCategory::query()->where('company_id', $this->companyId) ->inRandomOrder()->first(); if ( ! $prodCat) { + /** @var ProductCategory $prodCat */ $prodCat = ProductCategory::factory()->state(['company_id' => $companyId])->create(); } @@ -150,10 +160,12 @@ protected function findOrCreateProductCategory(int $companyId): ProductCategory protected function findOrCreateProductUnit(int $companyId): ProductUnit { + /** @var ProductUnit|null $prodUnit */ $prodUnit = ProductUnit::query()->where('company_id', $this->companyId) ->inRandomOrder()->first(); if ( ! $prodUnit) { + /** @var ProductUnit $prodUnit */ $prodUnit = ProductUnit::factory()->state(['company_id' => $companyId])->create(); } @@ -162,10 +174,12 @@ protected function findOrCreateProductUnit(int $companyId): ProductUnit protected function findOrCreateProject(int $companyId): Project { + /** @var Project|null $project */ $project = Project::query()->where('company_id', $this->companyId) ->inRandomOrder()->first(); if ( ! $project) { + /** @var Project $project */ $project = Project::factory()->state(['company_id' => $companyId])->create(); } @@ -174,12 +188,14 @@ protected function findOrCreateProject(int $companyId): Project protected function findOrCreateProspect(int $companyId): Relation { + /** @var Relation|null $prospect */ $prospect = Relation::query()->where('company_id', $companyId) ->where('relation_type', RelationType::PROSPECT->value) ->inRandomOrder() ->first(); if ( ! $prospect) { + /** @var Relation $prospect */ $prospect = Relation::factory() ->prospect() ->state(['company_id' => $companyId]) @@ -191,6 +207,7 @@ protected function findOrCreateProspect(int $companyId): Relation protected function findOrCreateRelationOfType(int $companyId, RelationType $type): Relation { + /** @var Relation|null $relation */ $relation = Relation::query() ->where('company_id', $companyId) ->where('relation_type', $type->value) @@ -209,15 +226,20 @@ protected function findOrCreateRelationOfType(int $companyId, RelationType $type default => $factory, }; - return $factory->create(); + /** @var Relation $relation */ + $relation = $factory->create(); + + return $relation; } protected function findOrCreateTaxRate(?int $companyId): TaxRate { + /** @var TaxRate|null $taxRate */ $taxRate = TaxRate::query()->where('company_id', $this->companyId) ->inRandomOrder()->first(); if ( ! $taxRate) { + /** @var TaxRate $taxRate */ $taxRate = TaxRate::factory()->state(['company_id' => $companyId])->create(); } @@ -226,11 +248,13 @@ protected function findOrCreateTaxRate(?int $companyId): TaxRate protected function findOrCreateUser(int $companyId): User { + /** @var User|null $user */ $user = User::query()->whereHas('companies', fn ($q) => $q->where('companies.id', $companyId)) ->inRandomOrder() ->first(); if ( ! $user) { + /** @var User $user */ $user = User::factory()->create(); $user->companies()->attach($companyId); } diff --git a/Modules/Core/Tests/AbstractAdminPanelTestCase.php b/Modules/Core/Tests/AbstractAdminPanelTestCase.php index f32683d08..be7a376c6 100644 --- a/Modules/Core/Tests/AbstractAdminPanelTestCase.php +++ b/Modules/Core/Tests/AbstractAdminPanelTestCase.php @@ -22,9 +22,13 @@ protected function setUp(): void filament()->setCurrentPanel(filament()->getPanel('admin')); - $this->company = Company::factory()->create(); + /** @var Company $company */ + $company = Company::factory()->create(); + $this->company = $company; - $this->superAdmin = User::factory()->create(); + /** @var User $superAdmin */ + $superAdmin = User::factory()->create(); + $this->superAdmin = $superAdmin; session(['current_company_id' => $this->company->id]); diff --git a/Modules/Core/Tests/Unit/NumberGenerator/NumberGeneratorTemplateTest.php b/Modules/Core/Tests/Unit/NumberGenerator/NumberGeneratorTemplateTest.php index 7abb9827b..aec1cd431 100644 --- a/Modules/Core/Tests/Unit/NumberGenerator/NumberGeneratorTemplateTest.php +++ b/Modules/Core/Tests/Unit/NumberGenerator/NumberGeneratorTemplateTest.php @@ -22,7 +22,9 @@ protected function setUp(): void { parent::setUp(); - $this->company = Company::factory()->create(); + /** @var Company $company */ + $company = Company::factory()->create(); + $this->company = $company; } #[Test] diff --git a/Modules/Expenses/Filament/Company/Widgets/RecentExpensesWidget.php b/Modules/Expenses/Filament/Company/Widgets/RecentExpensesWidget.php index 31aa59d29..5ec805d0e 100644 --- a/Modules/Expenses/Filament/Company/Widgets/RecentExpensesWidget.php +++ b/Modules/Expenses/Filament/Company/Widgets/RecentExpensesWidget.php @@ -18,7 +18,10 @@ class RecentExpensesWidget extends TableWidget protected function getTableQuery(): Builder|Relation|null { - return Expense::query()->latest()->limit(10); + /** @var Builder $query */ + $query = Expense::query()->latest()->limit(10); + + return $query; } protected function getTableColumns(): array diff --git a/Modules/Invoices/Filament/Company/Widgets/RecentInvoicesWidget.php b/Modules/Invoices/Filament/Company/Widgets/RecentInvoicesWidget.php index 883a5b51e..aff9127b5 100644 --- a/Modules/Invoices/Filament/Company/Widgets/RecentInvoicesWidget.php +++ b/Modules/Invoices/Filament/Company/Widgets/RecentInvoicesWidget.php @@ -33,7 +33,10 @@ public function getTableHeaderActions(): array protected function getTableQuery(): Builder|Relation|null { - return Invoice::query()->recent(); + /** @var Builder $query */ + $query = Invoice::query()->recent(); + + return $query; } protected function getTableColumns(): array diff --git a/Modules/Payments/Filament/Company/Widgets/RecentPaymentsWidget.php b/Modules/Payments/Filament/Company/Widgets/RecentPaymentsWidget.php index d99b3aa80..9c35eb742 100644 --- a/Modules/Payments/Filament/Company/Widgets/RecentPaymentsWidget.php +++ b/Modules/Payments/Filament/Company/Widgets/RecentPaymentsWidget.php @@ -16,7 +16,10 @@ class RecentPaymentsWidget extends TableWidget protected function getTableQuery(): Builder|Relation|null { - return Payment::query()->latest()->limit(10); + /** @var Builder $query */ + $query = Payment::query()->latest()->limit(10); + + return $query; } protected function getTableColumns(): array diff --git a/Modules/Projects/Filament/Company/Widgets/RecentProjectsWidget.php b/Modules/Projects/Filament/Company/Widgets/RecentProjectsWidget.php index f9be22c6f..49ddd4c95 100644 --- a/Modules/Projects/Filament/Company/Widgets/RecentProjectsWidget.php +++ b/Modules/Projects/Filament/Company/Widgets/RecentProjectsWidget.php @@ -16,10 +16,12 @@ class RecentProjectsWidget extends TableWidget protected static ?int $sort = 3; - /** @phpstan-ignore-next-line */ protected function getTableQuery(): Builder|Relation|null { - return Project::query()->latest()->limit(10); + /** @var Builder $query */ + $query = Project::query()->latest()->limit(10); + + return $query; } protected function getTableColumns(): array diff --git a/Modules/Projects/Filament/Company/Widgets/RecentTasksWidget.php b/Modules/Projects/Filament/Company/Widgets/RecentTasksWidget.php index 1479a52ba..dbecc4cf0 100644 --- a/Modules/Projects/Filament/Company/Widgets/RecentTasksWidget.php +++ b/Modules/Projects/Filament/Company/Widgets/RecentTasksWidget.php @@ -15,10 +15,12 @@ class RecentTasksWidget extends TableWidget protected static ?int $sort = 4; - /** @phpstan-ignore-next-line */ protected function getTableQuery(): Builder|Relation|null { - return Task::query()->latest()->limit(10); + /** @var Builder $query */ + $query = Task::query()->latest()->limit(10); + + return $query; } protected function getTableColumns(): array diff --git a/Modules/Quotes/Filament/Company/Widgets/RecentQuotesWidget.php b/Modules/Quotes/Filament/Company/Widgets/RecentQuotesWidget.php index 05cd53aed..b8cc5ec20 100644 --- a/Modules/Quotes/Filament/Company/Widgets/RecentQuotesWidget.php +++ b/Modules/Quotes/Filament/Company/Widgets/RecentQuotesWidget.php @@ -33,7 +33,10 @@ public function getTableHeaderActions(): array protected function getTableQuery(): Builder|Relation|null { - return Quote::query()->recent(); + /** @var Builder $query */ + $query = Quote::query()->recent(); + + return $query; } protected function getTableColumns(): array From bb9cdc1432679a08ab7dbc4ed18d1c3a59cfc301 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 30 Dec 2025 15:29:53 +0000 Subject: [PATCH 5/6] Add type annotations to test helper methods Co-authored-by: nielsdrost7 <47660417+nielsdrost7@users.noreply.github.com> --- .../Tests/Unit/Actions/SendInvoiceToPeppolActionTest.php | 3 ++- .../Invoices/Tests/Unit/Peppol/Services/PeppolServiceTest.php | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Modules/Invoices/Tests/Unit/Actions/SendInvoiceToPeppolActionTest.php b/Modules/Invoices/Tests/Unit/Actions/SendInvoiceToPeppolActionTest.php index 2d5bab49a..f7eb736a7 100644 --- a/Modules/Invoices/Tests/Unit/Actions/SendInvoiceToPeppolActionTest.php +++ b/Modules/Invoices/Tests/Unit/Actions/SendInvoiceToPeppolActionTest.php @@ -221,6 +221,7 @@ public function it_fails_when_cancellation_not_allowed(): void */ protected function createMockInvoice(string $status = 'sent'): Invoice { + /** @var Relation $customer */ $customer = Relation::factory()->make([ 'company_name' => 'Test Customer', 'customer_name' => 'Test Customer', @@ -236,6 +237,7 @@ protected function createMockInvoice(string $status = 'sent'): Invoice ]), ]); + /** @var Invoice $invoice */ $invoice = Invoice::factory()->make([ 'invoice_number' => 'INV-2024-001', 'invoice_status' => $status, @@ -249,7 +251,6 @@ protected function createMockInvoice(string $status = 'sent'): Invoice $invoice->setRelation('customer', $customer); $invoice->setRelation('invoiceItems', $items); - /* @var Invoice $invoice */ return $invoice; } } diff --git a/Modules/Invoices/Tests/Unit/Peppol/Services/PeppolServiceTest.php b/Modules/Invoices/Tests/Unit/Peppol/Services/PeppolServiceTest.php index 81c460cd1..fd0e37829 100644 --- a/Modules/Invoices/Tests/Unit/Peppol/Services/PeppolServiceTest.php +++ b/Modules/Invoices/Tests/Unit/Peppol/Services/PeppolServiceTest.php @@ -242,6 +242,7 @@ public function it_handles_server_errors(): void */ protected function createMockInvoice(): Invoice { + /** @var Relation $customer */ $customer = Relation::factory()->make([ 'company_name' => 'Test Customer', 'customer_name' => 'Test Customer', @@ -257,6 +258,7 @@ protected function createMockInvoice(): Invoice ]), ]); + /** @var Invoice $invoice */ $invoice = Invoice::factory()->make([ 'invoice_number' => 'INV-2024-001', 'invoice_item_subtotal' => 200, @@ -269,7 +271,6 @@ protected function createMockInvoice(): Invoice $invoice->setRelation('customer', $customer); $invoice->setRelation('invoiceItems', $items); - /* @var Invoice $invoice */ return $invoice; } } From 11a3f947c71488826c2aa37b9e1bcd17c186d98f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 30 Dec 2025 15:31:08 +0000 Subject: [PATCH 6/6] Add type annotations to AbstractCompanyPanelTestCase and ReportBuilder tests Co-authored-by: nielsdrost7 <47660417+nielsdrost7@users.noreply.github.com> --- Modules/Core/Tests/AbstractCompanyPanelTestCase.php | 8 ++++++-- .../Tests/Feature/CreateReportTemplateTest.php | 2 ++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Modules/Core/Tests/AbstractCompanyPanelTestCase.php b/Modules/Core/Tests/AbstractCompanyPanelTestCase.php index d40f4a8a8..9caf0d07d 100644 --- a/Modules/Core/Tests/AbstractCompanyPanelTestCase.php +++ b/Modules/Core/Tests/AbstractCompanyPanelTestCase.php @@ -22,13 +22,17 @@ protected function setUp(): void { parent::setUp(); - $this->user = User::factory()->withCompany([ + /** @var User $user */ + $user = User::factory()->withCompany([ 'search_code' => 'IVPLV2', 'name' => 'InvoicePlane Corporation', 'slug' => 'invoiceplane-corporation', ])->create(); + $this->user = $user; - $this->company = Company::query()->where('search_code', 'IVPLV2')->firstOrFail(); + /** @var Company $company */ + $company = Company::query()->where('search_code', 'IVPLV2')->firstOrFail(); + $this->company = $company; /* * quietly set tenant so it won't wine about user not being set yet. diff --git a/Modules/ReportBuilder/Tests/Feature/CreateReportTemplateTest.php b/Modules/ReportBuilder/Tests/Feature/CreateReportTemplateTest.php index e894ee7c3..bff38d6a5 100644 --- a/Modules/ReportBuilder/Tests/Feature/CreateReportTemplateTest.php +++ b/Modules/ReportBuilder/Tests/Feature/CreateReportTemplateTest.php @@ -218,7 +218,9 @@ public function it_respects_company_tenancy(): void protected function createCompanyContext(): Company { + /** @var Company $company */ $company = Company::factory()->create(); + /** @var User $user */ $user = User::factory()->create(); $user->companies()->attach($company); session(['current_company_id' => $company->id]);