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()]); $identity = DingTalkIdentity::query()->firstOrCreate( ['user_id' => $user->id], [ 'union_id' => 'test-session-'.Str::random(16), 'dingtalk_user_id' => 'test-ding-user-'.$user->id, ] ); $this->actingAs($user); return $this->withSession([ 'dingtalk_identity_id' => $identity->id, 'dingtalk_roster_checked_at' => now()->timestamp, ]); } public function assertFlashLevel($excepted) { $flash['level'] = null; if ($flashMessage = session('flash_notification')) { $flash = $flashMessage->first(); } $this->assertEquals($excepted, $flash['level'], json_encode($flash)); } }