/
githubmirror
/
framework
Обзор
Документация
Войти
/
githubmirror
/
framework
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
13.x
tests/Database/DatabaseEloquentCollectionQueueableTest.php
63 строки
2 KB
Jason McCreary
[13.x] Mockery cleanup (#61117)
10 авг 2026, 20:23
Не верифицирован
10 авг 2026, 20:23
2ee40ee
Код
Авторство
О чём код?
<?php namespace Illuminate\Tests\Database; use Illuminate\Database\Eloquent\Collection; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\Pivot; use Mockery; use PHPUnit\Framework\TestCase; class DatabaseEloquentCollectionQueueableTest extends TestCase { public function testSerializesPivotsEntitiesId() { $spy = Mockery::spy(Pivot::class); $c = new Collection([$spy]); $c->getQueueableIds(); $spy->shouldHaveReceived() ->getQueueableId() ->once(); } public function testSerializesModelEntitiesById() { $spy = Mockery::spy(Model::class); $c = new Collection([$spy]); $c->getQueueableIds(); $spy->shouldHaveReceived() ->getQueueableId() ->once(); } /** * @throws \Exception */ public function testJsonSerializationOfCollectionQueueableIdsWorks() { // When the ID of a Model is binary instead of int or string, the Collection // serialization + JSON encoding breaks because of UTF-8 issues. Encoding // of a QueueableCollection must favor QueueableEntity::queueableId(). $mock = Mockery::mock(Model::class, [ 'getKey' => random_bytes(10), 'getQueueableId' => 'mocked', ]); $c = new Collection([$mock]); $payload = [ 'ids' => $c->getQueueableIds(), ]; $this->assertNotFalse( json_encode($payload), 'EloquentCollection is not using the QueueableEntity::getQueueableId() method.' ); } }