1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- <?php
-
- namespace Tests;
-
- use App\Models\Common\Offering;
- use App\Models\Company;
- use App\Models\User;
- use App\Testing\TestsReport;
- use Database\Seeders\TestDatabaseSeeder;
- use Filament\Facades\Filament;
- use Illuminate\Foundation\Testing\RefreshDatabase;
- use Illuminate\Foundation\Testing\TestCase as BaseTestCase;
- use Livewire\Features\SupportTesting\Testable;
-
- abstract class TestCase extends BaseTestCase
- {
- use RefreshDatabase;
-
- /**
- * Indicates whether the default seeder should run before each test.
- */
- protected bool $seed = true;
-
- /**
- * Run a specific seeder before each test.
- */
- protected string $seeder = TestDatabaseSeeder::class;
-
- protected User $testUser;
-
- protected ?Company $testCompany;
-
- protected function setUp(): void
- {
- parent::setUp();
-
- Testable::mixin(new TestsReport);
-
- $this->testUser = User::first();
-
- $this->testCompany = $this->testUser->ownedCompanies->first();
-
- $this->testUser->switchCompany($this->testCompany);
-
- $this->actingAs($this->testUser);
-
- Filament::setTenant($this->testCompany);
- }
-
- public function withOfferings(): static
- {
- Offering::factory()
- ->for($this->testCompany)
- ->sellable()
- ->withSalesAdjustments()
- ->purchasable()
- ->withPurchaseAdjustments()
- ->create();
-
- return $this;
- }
- }
|