CaiWuXiTong/tests/Feature/FeatureTestCase.php
WuYongJie 9595267ee7
Some checks failed
Tests / PHP 8.1 (push) Has been cancelled
Tests / PHP 8.2 (push) Has been cancelled
Tests / PHP 8.3 (push) Has been cancelled
chore: 导入 Akaunting 初始源码与团队协作规则
2026-07-20 18:20:25 +08:00

64 lines
1.3 KiB
PHP

<?php
namespace Tests\Feature;
use App\Models\Common\Company;
use Faker\Factory as Faker;
use Tests\TestCase;
abstract class FeatureTestCase extends TestCase
{
protected $faker;
protected $user;
protected $company;
protected function setUp(): void
{
parent::setUp();
$this->withoutExceptionHandling();
$this->faker = Faker::create();
$this->user = user_model_class()::first();
$this->company = $this->user->companies()->first();
// Disable debugbar
config(['debugbar.enabled', false]);
}
/**
* Empty for default user.
*
* @param User|null $user
* @param Company|null $company
* @return FeatureTestCase
*/
public function loginAs($user = null, Company $company = null)
{
if (!$user) {
$user = $this->user;
}
if ($company) {
$company->makeCurrent();
}
app('url')->defaults(['company_id' => company_id()]);
return $this->actingAs($user);
}
public function assertFlashLevel($excepted)
{
$flash['level'] = null;
if ($flashMessage = session('flash_notification')) {
$flash = $flashMessage->first();
}
$this->assertEquals($excepted, $flash['level'], json_encode($flash));
}
}