UserAgentの取得には、jenssegers/agentを使います。
github: https://github.com/jenssegers/agent
$ composer require jenssegers/agent
config/app.php
'providers' => [
// 省略
Jenssegers\Agent\AgentServiceProvider::class,
],
'aliases' => [
//省略
'Agent' => Jenssegers\Agent\Facades\Agent::class,
],
AdminController.php
use Jenssegers\Agent\Agent;
public function useragent(){
if(\Agent::isMobile()){
return view('admin.sp');
}
return view('admin.pc');
}

なるほど、相当簡単に実装できる。
これをunitテストでやりたい。
$ php artisan make:test UserRegisterTest
public function testExample()
{
$response = $this->get('/');
$response->dumpHeaders();
}
$ vendor/bin/phpunit tests/Feature/UserAgentTest.php
public function testExample()
{
$response = $this->get('/admin/useragent');
// $response->assertStatus(200);
$this->assertSame(2, $response);
}
$ vendor/bin/phpunit tests/Feature/UserAgentTest.php
FAILURES!
Tests: 1, Assertions: 1, Failures: 1.
なんでだ? $this->getだとheader情報しか返ってこないのか。
UnitTestはもうちょっとやりこまないとダメやな。