Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,10 @@ php artisan queue:work
- Tests have inline comment blocks above sections (/* Arrange */, /* Act */, /* Assert */).
- Tests must be meaningful - avoid simple "ok" checks; validate actual behavior and data.
- Use data providers for testing multiple scenarios with the same logic.
- **NEVER extend `Tests\TestCase`** - all tests must extend one of the abstract test cases from `Modules/Core/Tests/`:
- `AbstractTestCase` - Basic test case with application bootstrap
- `AbstractAdminPanelTestCase` - For admin panel tests with RefreshDatabase
- `AbstractCompanyPanelTestCase` - For company panel tests with multi-tenancy

### Export System Rules

Expand Down
4 changes: 4 additions & 0 deletions .junie/guidelines.md
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,10 @@ class InvoiceServiceTest extends AbstractCompanyPanelTestCase
4. **Happy Paths Last:** Place success scenarios at the end
5. **Reusable Setup:** Abstract test cases for fixtures, not inline
6. **Comment Blocks:** Use `/* Arrange */`, `/* Act */`, `/* Assert */`
7. **NEVER extend `Tests\TestCase`:** All tests must extend one of the abstract test cases from `Modules/Core/Tests/`:
- `AbstractTestCase` - Basic test case with application bootstrap
- `AbstractAdminPanelTestCase` - For admin panel tests with RefreshDatabase
- `AbstractCompanyPanelTestCase` - For company panel tests with multi-tenancy

### Export Testing
```php
Expand Down
4 changes: 2 additions & 2 deletions Modules/Core/Tests/Feature/NumberingPanelAccessTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@
use Modules\Core\Models\Numbering;
use Modules\Core\Models\User;
use Modules\Core\Services\NumberingService;
use Modules\Core\Tests\AbstractTestCase;
use PHPUnit\Framework\Attributes\Test;
use Tests\TestCase;

class NumberingPanelAccessTest extends TestCase
class NumberingPanelAccessTest extends AbstractTestCase
{
private NumberingService $service;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@
use Modules\Core\Enums\NumberingType;
use Modules\Core\Models\Company;
use Modules\Core\Models\Numbering;
use Modules\Core\Tests\AbstractTestCase;
use Modules\Projects\Support\ProjectNumberGenerator;
use PHPUnit\Framework\Attributes\Group;
use PHPUnit\Framework\Attributes\Test;
use Tests\TestCase;

class NumberGeneratorTemplateTest extends TestCase
class NumberGeneratorTemplateTest extends AbstractTestCase
{
use RefreshDatabase;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@
use Modules\Core\Models\Company;
use Modules\Core\Models\Numbering;
use Modules\Core\Services\NumberingService;
use Modules\Core\Tests\AbstractTestCase;
use Modules\Expenses\Support\ExpenseNumberGenerator;
use Modules\Projects\Models\Task;
use Modules\Projects\Support\TaskNumberGenerator;
use PHPUnit\Framework\Attributes\Group;
use PHPUnit\Framework\Attributes\Test;
use Tests\TestCase;

class NumberingCompanyIsolationTest extends TestCase
class NumberingCompanyIsolationTest extends AbstractTestCase
{
use RefreshDatabase;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@

use Modules\Core\Models\Company;
use Modules\Core\Models\Numbering;
use Modules\Core\Tests\AbstractTestCase;
use Modules\Invoices\Models\Invoice;
use PHPUnit\Framework\Attributes\Test;
use RuntimeException;
use Tests\TestCase;

class InvoiceDuplicateNumberPreventionTest extends TestCase
class InvoiceDuplicateNumberPreventionTest extends AbstractTestCase
{
#[Test]
public function it_prevents_duplicate_invoice_numbers_within_same_company(): void
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@

use Illuminate\Foundation\Testing\RefreshDatabase;
use Modules\Core\Models\Numbering;
use Modules\Core\Tests\AbstractTestCase;
use Modules\Invoices\Models\Invoice;
use Modules\Invoices\Support\InvoiceNumberGenerator;
use PHPUnit\Framework\Attributes\Test;
use Tests\TestCase;

class InvoiceNumberingSchemeChangeTest extends TestCase
class InvoiceNumberingSchemeChangeTest extends AbstractTestCase
{
use RefreshDatabase;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@

use Modules\Core\Models\Company;
use Modules\Core\Models\Numbering;
use Modules\Core\Tests\AbstractTestCase;
use Modules\Quotes\Models\Quote;
use PHPUnit\Framework\Attributes\Test;
use RuntimeException;
use Tests\TestCase;

class QuoteDuplicateNumberPreventionTest extends TestCase
class QuoteDuplicateNumberPreventionTest extends AbstractTestCase
{
#[Test]
public function it_prevents_duplicate_quote_numbers_within_same_company(): void
Expand Down