Skip to content

Commit 217e8a2

Browse files
[3.x] Test Improvements (#465)
* Test Improvements Signed-off-by: Mior Muhammad Zaki <[email protected]> * wip Signed-off-by: Mior Muhammad Zaki <[email protected]> * wip Signed-off-by: Mior Muhammad Zaki <[email protected]> * Apply fixes from StyleCI * wip Signed-off-by: Mior Muhammad Zaki <[email protected]> * wip --------- Signed-off-by: Mior Muhammad Zaki <[email protected]> Co-authored-by: StyleCI Bot <[email protected]>
1 parent be80d06 commit 217e8a2

9 files changed

+189
-248
lines changed

.gitattributes

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
/.github export-ignore
1010
/art export-ignore
1111
/tests export-ignore
12+
/workbench export-ignore
1213
.editorconfig export-ignore
1314
.gitattributes export-ignore
1415
.gitignore export-ignore

composer.json

+3-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,9 @@
3434
},
3535
"autoload-dev": {
3636
"psr-4": {
37-
"Laravel\\Sanctum\\Tests\\": "tests/"
37+
"Laravel\\Sanctum\\Tests\\": "tests/",
38+
"Workbench\\App\\": "workbench/app/",
39+
"Workbench\\Database\\Factories\\": "workbench/database/factories/"
3840
}
3941
},
4042
"extra": {

tests/Feature/ActingAsTest.php

+8-15
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,16 @@
22

33
namespace Laravel\Sanctum\Tests\Feature;
44

5-
use Illuminate\Foundation\Auth\User;
65
use Illuminate\Support\Facades\Auth;
76
use Illuminate\Support\Facades\Route;
8-
use Laravel\Sanctum\Contracts\HasApiTokens as HasApiTokensContract;
9-
use Laravel\Sanctum\HasApiTokens;
107
use Laravel\Sanctum\Http\Middleware\CheckAbilities;
118
use Laravel\Sanctum\Http\Middleware\CheckForAnyAbility;
129
use Laravel\Sanctum\Http\Middleware\CheckForAnyScope;
1310
use Laravel\Sanctum\Http\Middleware\CheckScopes;
1411
use Laravel\Sanctum\Sanctum;
1512
use Orchestra\Testbench\Concerns\WithWorkbench;
1613
use Orchestra\Testbench\TestCase;
14+
use Workbench\App\Models\User;
1715

1816
class ActingAsTest extends TestCase
1917
{
@@ -32,7 +30,7 @@ public function testActingAsWhenTheRouteIsProtectedByAuthMiddlware()
3230
return 'bar';
3331
})->middleware('auth:sanctum');
3432

35-
Sanctum::actingAs($user = new SanctumUser);
33+
Sanctum::actingAs($user = new User);
3634
$user->id = 1;
3735

3836
$response = $this->get('/foo');
@@ -49,7 +47,7 @@ public function testActingAsWhenTheRouteIsProtectedByCheckScopesMiddleware()
4947
return 'bar';
5048
})->middleware(CheckScopes::class.':admin,footest');
5149

52-
Sanctum::actingAs(new SanctumUser(), ['admin', 'footest']);
50+
Sanctum::actingAs(new User(), ['admin', 'footest']);
5351

5452
$response = $this->get('/foo');
5553
$response->assertSuccessful();
@@ -64,7 +62,7 @@ public function testActingAsWhenTheRouteIsProtectedByCheckForAnyScopeMiddleware(
6462
return 'bar';
6563
})->middleware(CheckForAnyScope::class.':admin,footest');
6664

67-
Sanctum::actingAs(new SanctumUser(), ['footest']);
65+
Sanctum::actingAs(new User(), ['footest']);
6866

6967
$response = $this->get('/foo');
7068
$response->assertSuccessful();
@@ -79,7 +77,7 @@ public function testActingAsWhenTheRouteIsProtectedByCheckAbilitiesMiddleware()
7977
return 'bar';
8078
})->middleware(CheckAbilities::class.':admin,footest');
8179

82-
Sanctum::actingAs(new SanctumUser(), ['admin', 'footest']);
80+
Sanctum::actingAs(new User(), ['admin', 'footest']);
8381

8482
$response = $this->get('/foo');
8583
$response->assertSuccessful();
@@ -94,7 +92,7 @@ public function testActingAsWhenTheRouteIsProtectedByCheckForAnyAbilityMiddlewar
9492
return 'bar';
9593
})->middleware(CheckForAnyAbility::class.':admin,footest');
9694

97-
Sanctum::actingAs(new SanctumUser(), ['footest']);
95+
Sanctum::actingAs(new User(), ['footest']);
9896

9997
$response = $this->get('/foo');
10098
$response->assertSuccessful();
@@ -115,7 +113,7 @@ public function testActingAsWhenTheRouteIsProtectedUsingAbilities()
115113
return response(403);
116114
})->middleware('auth:sanctum');
117115

118-
$user = new SanctumUser;
116+
$user = new User;
119117
$user->id = 1;
120118

121119
Sanctum::actingAs($user, ['baz']);
@@ -140,7 +138,7 @@ public function testActingAsWhenKeyHasAnyAbility()
140138
return response(403);
141139
})->middleware('auth:sanctum');
142140

143-
$user = new SanctumUser;
141+
$user = new User;
144142
$user->id = 1;
145143

146144
Sanctum::actingAs($user, ['*']);
@@ -151,8 +149,3 @@ public function testActingAsWhenKeyHasAnyAbility()
151149
$response->assertSee('bar');
152150
}
153151
}
154-
155-
class SanctumUser extends User implements HasApiTokensContract
156-
{
157-
use HasApiTokens;
158-
}

tests/Feature/DefaultConfigContainsAppUrlTest.php

+5-3
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
use Orchestra\Testbench\Concerns\WithWorkbench;
88
use Orchestra\Testbench\TestCase;
99

10+
use function Orchestra\Testbench\package_path;
11+
1012
class DefaultConfigContainsAppUrlTest extends TestCase
1113
{
1214
use WithWorkbench;
@@ -16,14 +18,14 @@ protected function defineEnvironment($app)
1618
putenv('APP_URL=https://www.example.com');
1719
$app['config']->set('app.url', 'https://www.example.com');
1820

19-
$config = require __DIR__.'/../../config/sanctum.php';
21+
$config = require package_path('config/sanctum.php');
2022

2123
$app['config']->set('sanctum.stateful', $config['stateful']);
2224
}
2325

2426
public function test_default_config_contains_app_url()
2527
{
26-
$config = require __DIR__.'/../../config/sanctum.php';
28+
$config = require package_path('config/sanctum.php');
2729

2830
$app_host = parse_url(env('APP_URL'), PHP_URL_HOST);
2931

@@ -35,7 +37,7 @@ public function test_app_url_is_not_parsed_when_missing_from_env()
3537
putenv('APP_URL');
3638
config(['app.url' => null]);
3739

38-
$config = require __DIR__.'/../../config/sanctum.php';
40+
$config = require package_path('config/sanctum.php');
3941

4042
$this->assertNull(env('APP_URL'));
4143
$this->assertNotContains('', $config['stateful']);

0 commit comments

Comments
 (0)