mirror of
https://github.com/NNTmux/newznab-tmux.git
synced 2026-08-29 00:01:21 +00:00
Update API and APIv2 handling
This commit is contained in:
@@ -135,7 +135,7 @@ class ApiRequestMatrixTest extends TestCase
|
||||
$releaseBrowseService = Mockery::mock(ReleaseBrowseService::class);
|
||||
$releaseBrowseService->shouldNotReceive('getBrowseRangeForApi');
|
||||
|
||||
$controller = new ApiV2Controller(app(ApiController::class), $releaseSearchService, $releaseBrowseService);
|
||||
$controller = new ApiV2Controller($releaseSearchService, $releaseBrowseService);
|
||||
|
||||
$firstResponse = $controller->apiSearch($request);
|
||||
$secondResponse = $controller->apiSearch($request);
|
||||
@@ -178,7 +178,7 @@ class ApiRequestMatrixTest extends TestCase
|
||||
$releaseBrowseService = Mockery::mock(ReleaseBrowseService::class);
|
||||
$releaseBrowseService->shouldNotReceive('getBrowseRangeForApi');
|
||||
|
||||
$controller = new ApiV2Controller(app(ApiController::class), $releaseSearchService, $releaseBrowseService);
|
||||
$controller = new ApiV2Controller($releaseSearchService, $releaseBrowseService);
|
||||
$response = $controller->apiSearch($request);
|
||||
|
||||
$content = $response->getContent();
|
||||
@@ -493,7 +493,7 @@ class ApiRequestMatrixTest extends TestCase
|
||||
)
|
||||
->andReturn(collect());
|
||||
|
||||
$controller = new ApiV2Controller(app(ApiController::class), $releaseSearchService, $releaseBrowseService);
|
||||
$controller = new ApiV2Controller($releaseSearchService, $releaseBrowseService);
|
||||
|
||||
$response = $controller->audio($request);
|
||||
|
||||
@@ -527,7 +527,7 @@ class ApiRequestMatrixTest extends TestCase
|
||||
)
|
||||
->andReturn(collect());
|
||||
|
||||
$controller = new ApiV2Controller(app(ApiController::class), $releaseSearchService, $releaseBrowseService);
|
||||
$controller = new ApiV2Controller($releaseSearchService, $releaseBrowseService);
|
||||
|
||||
$response = $controller->books($request);
|
||||
|
||||
@@ -564,7 +564,7 @@ class ApiRequestMatrixTest extends TestCase
|
||||
)
|
||||
->andReturn(collect());
|
||||
|
||||
$controller = new ApiV2Controller(app(ApiController::class), $releaseSearchService, $releaseBrowseService);
|
||||
$controller = new ApiV2Controller($releaseSearchService, $releaseBrowseService);
|
||||
$response = $controller->{$expectation['method']}($request);
|
||||
|
||||
$this->assertSame(200, $response->getStatusCode());
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Tests\Unit;
|
||||
|
||||
use App\Services\Api\ApiQueryParameters;
|
||||
use Illuminate\Http\Request;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
final class ApiQueryParametersTest extends TestCase
|
||||
{
|
||||
private ApiQueryParameters $parameters;
|
||||
|
||||
protected function setUp(): void
|
||||
{
|
||||
$this->parameters = new ApiQueryParameters;
|
||||
}
|
||||
|
||||
public function test_common_defaults_match_both_api_versions(): void
|
||||
{
|
||||
$request = Request::create('/', 'GET');
|
||||
|
||||
self::assertSame([-1], $this->parameters->categories($request));
|
||||
self::assertSame(100, $this->parameters->limit($request));
|
||||
self::assertSame(0, $this->parameters->offset($request));
|
||||
self::assertSame(0, $this->parameters->minimumSize($request));
|
||||
self::assertSame(-1, $this->parameters->maximumAge($request));
|
||||
self::assertSame('posted_desc', $this->parameters->sort($request));
|
||||
self::assertTrue($this->parameters->hasValidSort($request));
|
||||
}
|
||||
|
||||
public function test_numeric_pagination_and_sort_are_normalized(): void
|
||||
{
|
||||
$request = Request::create('/', 'GET', [
|
||||
'limit' => '25',
|
||||
'offset' => '50',
|
||||
'minsize' => '1024',
|
||||
'maxage' => '7',
|
||||
'sort' => ' NAME_ASC ',
|
||||
]);
|
||||
|
||||
self::assertSame(25, $this->parameters->limit($request));
|
||||
self::assertSame(50, $this->parameters->offset($request));
|
||||
self::assertSame(1024, $this->parameters->minimumSize($request));
|
||||
self::assertSame(7, $this->parameters->maximumAge($request));
|
||||
self::assertSame('name_asc', $this->parameters->sort($request));
|
||||
self::assertTrue($this->parameters->hasValidSort($request));
|
||||
}
|
||||
|
||||
public function test_invalid_sort_is_reported_without_building_a_response(): void
|
||||
{
|
||||
$request = Request::create('/', 'GET', ['sort' => 'unexpected']);
|
||||
|
||||
self::assertFalse($this->parameters->hasValidSort($request));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user