Files
SGS/www/tests/Feature/Middleware/EnsureIsDbiClientTest.php
T
Fabián Gonzalo Artur de la Villarmois 0993bfa666 ### Changes
Fixes #3: Error on DBI when files or folders contains special characters.

### Additional changes
* Added unit and feature tests
* Fix file size display
* Run tests on CI/CD
* Publish docker image on release
2026-03-29 17:35:32 +13:00

34 lines
1.0 KiB
PHP

<?php
use Illuminate\Support\Facades\Storage;
beforeEach(function () {
Storage::fake();
});
test('a DBI user-agent on the web root gets a DBI directory listing', function () {
Storage::put('games/game.nsp', 'data');
$response = $this->get('/', ['HTTP_USER_AGENT' => 'DBI/1.0']);
$response->assertStatus(200);
$response->assertHeader('Content-Type', 'text/html; charset=utf-8');
$response->assertSee('Index of /games/');
});
test('a non-DBI user-agent on the web root is passed through', function () {
$response = $this->get('/', ['HTTP_USER_AGENT' => 'Mozilla/5.0']);
// The welcome view or the next middleware handles the request (not DBI)
$response->assertDontSee('Index of /games/');
});
test('a DBI user-agent on an arbitrary web path gets a DBI directory listing', function () {
Storage::put('games/GameA/game.nsp', 'data');
$response = $this->get('/anything', ['HTTP_USER_AGENT' => 'DBI/2.5']);
$response->assertStatus(200);
$response->assertSee('Index of /games/');
});