/
githubmirror
/
framework
Обзор
Документация
Войти
/
githubmirror
/
framework
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
13.x
tests/Database/DatabaseEloquentResourceCollectionTest.php
75 строк
3 KB
Lucas Michot
[13.x] Simplify most of the exceptions expectations (#61049)
05 авг 2026, 18:34
Не верифицирован
05 авг 2026, 18:34
910cd94
Код
Авторство
О чём код?
<?php namespace Illuminate\Tests\Database; use Illuminate\Database\Eloquent\Collection; use Illuminate\Http\Resources\Json\AnonymousResourceCollection; use Illuminate\Http\Resources\Json\JsonResource; use Illuminate\Tests\Database\Fixtures\Models\EloquentResourceCollectionTestModel; use Illuminate\Tests\Database\Fixtures\Models\EloquentResourceTestResourceModelWithUseResourceAttribute; use Illuminate\Tests\Database\Fixtures\Models\EloquentResourceTestResourceModelWithUseResourceCollectionAttribute; use Illuminate\Tests\Database\Fixtures\Resources\EloquentResourceCollectionTestResource; use Illuminate\Tests\Database\Fixtures\Resources\EloquentResourceTestJsonResource; use Illuminate\Tests\Database\Fixtures\Resources\EloquentResourceTestJsonResourceCollection; use LogicException; use PHPUnit\Framework\TestCase; class DatabaseEloquentResourceCollectionTest extends TestCase { public function testItCanTransformToExplicitResource() { $collection = new Collection([ new EloquentResourceCollectionTestModel(), ]); $resource = $collection->toResourceCollection(EloquentResourceCollectionTestResource::class); $this->assertInstanceOf(JsonResource::class, $resource); } public function testItThrowsExceptionWhenResourceCannotBeFound() { $this->expectExceptionObject(new LogicException('Failed to find resource class for model [Illuminate\Tests\Database\Fixtures\Models\EloquentResourceCollectionTestModel].')); $collection = new Collection([ new EloquentResourceCollectionTestModel(), ]); $collection->toResourceCollection(); } public function testItCanGuessResourceWhenNotProvided() { $collection = new Collection([ new EloquentResourceCollectionTestModel(), ]); class_alias(EloquentResourceCollectionTestResource::class, 'Illuminate\Tests\Database\Fixtures\Http\Resources\EloquentResourceCollectionTestModelResource'); $resource = $collection->toResourceCollection(); $this->assertInstanceOf(JsonResource::class, $resource); } public function testItCanTransformToResourceViaUseResourceAttribute() { $collection = new Collection([ new EloquentResourceTestResourceModelWithUseResourceCollectionAttribute(), ]); $resource = $collection->toResourceCollection(); $this->assertInstanceOf(EloquentResourceTestJsonResourceCollection::class, $resource); } public function testItCanTransformToResourceViaUseResourceCollectionAttribute() { $collection = new Collection([ new EloquentResourceTestResourceModelWithUseResourceAttribute(), ]); $resource = $collection->toResourceCollection(); $this->assertInstanceOf(AnonymousResourceCollection::class, $resource); $this->assertInstanceOf(EloquentResourceTestJsonResource::class, $resource[0]); } }