Skip to content

Commit c0c2eb2

Browse files
committed
chore: add some tests
1 parent d4d9241 commit c0c2eb2

File tree

7 files changed

+50
-11
lines changed

7 files changed

+50
-11
lines changed

resources/views/layout.blade.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<html>
33

44
<head>
5-
<title>{{ Scalar::pageTitle() }}</title>
5+
<title>{{ \Scalar\Scalar::pageTitle() }}</title>
66
<meta charset="utf-8" />
77
<meta name="viewport" content="width=device-width, initial-scale=1" />
88
@if (config('scalar.configuration.theme') === 'laravel')

resources/views/reference.blade.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
@extends('scalar::layout')
22

33
@section('content')
4-
<script id="api-reference" data-url="{{ Scalar::url() }}"></script>
4+
<script id="api-reference" data-url="{{ \Scalar\Scalar::url() }}"></script>
55

66
<script>
77
document.getElementById('api-reference').dataset.configuration =
8-
JSON.stringify({!! Scalar::configuration() !!})
8+
JSON.stringify({!! \Scalar\Scalar::configuration() !!})
99
</script>
1010

11-
<script src="{{ Scalar::cdn() }}"></script>
11+
<script src="{{ \Scalar\Scalar::cdn() }}"></script>
1212
@endsection

routes/web.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@
88
'prefix' => config('scalar.path'),
99
'middleware' => config('scalar.middleware', 'web'),
1010
], function () {
11-
Route::get('/', ScalarController::class);
11+
Route::get('/', ScalarController::class)->name('scalar');
1212
});

src/Controllers/ScalarController.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ class ScalarController extends Controller
99
{
1010
public function __invoke()
1111
{
12-
if (! Gate::check('viewScalar') && ! app()->environment('local')) {
12+
if (! Gate::check('viewScalar') && ! app()->environment('local') && ! app()->environment('testing')) {
1313
return abort(403);
1414
}
1515

tests/ExampleTest.php

Lines changed: 0 additions & 5 deletions
This file was deleted.

tests/ScalarTest.php

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<?php
2+
3+
use Illuminate\Support\Facades\Route;
4+
use Scalar\Controllers\ScalarController;
5+
6+
it('registers the route', function () {
7+
$routes = Route::getRoutes();
8+
$route = $routes->getByName('scalar');
9+
10+
expect($route)->not->toBeNull()
11+
->and('/'.$route->uri())->toBe(config('scalar.path'))
12+
->and($route->getAction('controller'))->toBe(ScalarController::class);
13+
});
14+
15+
it('returns a view', function () {
16+
$response = $this->get(config('scalar.path'));
17+
18+
$response->assertViewIs('scalar::reference');
19+
});
20+
21+
it('contains the jsDelivr URL', function () {
22+
$response = $this->get(config('scalar.path'));
23+
24+
$response->assertSee(config('scalar.cdn'));
25+
});
26+
27+
it('reflects changes in the config', function () {
28+
// Original config
29+
$originalCdn = config('scalar.cdn');
30+
31+
// Modify config
32+
config()->set('scalar.cdn', 'https://example.com/cdn');
33+
34+
$response = $this->get('/reference');
35+
36+
$response->assertOk()
37+
->assertViewIs('scalar::reference')
38+
->assertSee('https://example.com/cdn')
39+
->assertDontSee($originalCdn);
40+
41+
// Reset config
42+
config(['scalar.cdn' => $originalCdn]);
43+
});

tests/TestCase.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ protected function getPackageProviders($app)
2626

2727
public function getEnvironmentSetUp($app)
2828
{
29+
config()->set('app.key', 'base64:'.base64_encode(random_bytes(32)));
2930
config()->set('database.default', 'testing');
3031

3132
/*

0 commit comments

Comments
 (0)