/
githubmirror
/
framework
Обзор
Документация
Войти
/
githubmirror
/
framework
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
13.x
tests/Validation/ValidationDatabasePresenceVerifierTest.php
82 строки
4 KB
Jason McCreary
[13.x] Mockery cleanup (#61117)
10 авг 2026, 20:23
Не верифицирован
10 авг 2026, 20:23
2ee40ee
Код
Авторство
О чём код?
<?php namespace Illuminate\Tests\Validation; use Closure; use Illuminate\Database\ConnectionInterface; use Illuminate\Database\ConnectionResolverInterface; use Illuminate\Database\Query\Builder; use Illuminate\Validation\DatabasePresenceVerifier; use Mockery; use PHPUnit\Framework\TestCase; class ValidationDatabasePresenceVerifierTest extends TestCase { public function testBasicCount() { $db = Mockery::mock(ConnectionResolverInterface::class); $verifier = new DatabasePresenceVerifier($db); $verifier->setConnection('connection'); $conn = Mockery::mock(ConnectionInterface::class); $db->expects('connection')->with('connection')->andReturn($conn); $builder = Mockery::mock(Builder::class); $conn->expects('table')->with('table')->andReturn($builder); $builder->expects('useWritePdo')->andReturn($builder); $builder->expects('where')->with('column', '=', 'value')->andReturn($builder); $extra = ['foo' => 'NULL', 'bar' => 'NOT_NULL', 'baz' => 'taylor', 'faz' => true, 'not' => '!admin']; $builder->expects('whereNull')->with('foo'); $builder->expects('whereNotNull')->with('bar'); $builder->expects('where')->with('baz', 'taylor'); $builder->expects('where')->with('faz', true); $builder->expects('where')->with('not', '!=', 'admin'); $builder->expects('count')->andReturn(100); $this->assertEquals(100, $verifier->getCount('table', 'column', 'value', null, null, $extra)); } public function testBasicCountWithClosures() { $db = Mockery::mock(ConnectionResolverInterface::class); $verifier = new DatabasePresenceVerifier($db); $verifier->setConnection('connection'); $conn = Mockery::mock(ConnectionInterface::class); $db->expects('connection')->with('connection')->andReturn($conn); $builder = Mockery::mock(Builder::class); $conn->expects('table')->with('table')->andReturn($builder); $builder->expects('useWritePdo')->andReturn($builder); $builder->expects('where')->with('column', '=', 'value')->andReturn($builder); $closure = function ($query) { $query->where('closure', 1); }; $extra = ['foo' => 'NULL', 'bar' => 'NOT_NULL', 'baz' => 'taylor', 'faz' => true, 'not' => '!admin', 0 => $closure]; $builder->expects('whereNull')->with('foo'); $builder->expects('whereNotNull')->with('bar'); $builder->expects('where')->with('baz', 'taylor'); $builder->expects('where')->with('faz', true); $builder->expects('where')->with('not', '!=', 'admin'); $builder->expects('where')->with(Mockery::type(Closure::class))->andReturnUsing(function () use ($builder, $closure) { $closure($builder); }); $builder->expects('where')->with('closure', 1); $builder->expects('count')->andReturn(100); $this->assertEquals(100, $verifier->getCount('table', 'column', 'value', null, null, $extra)); } public function testGetCountWithValidExcludeId() { $db = Mockery::mock(ConnectionResolverInterface::class); $verifier = new DatabasePresenceVerifier($db); $verifier->setConnection('connection'); $conn = Mockery::mock(ConnectionInterface::class); $db->expects('connection')->with('connection')->andReturn($conn); $builder = Mockery::mock(Builder::class); $conn->expects('table')->with('table')->andReturn($builder); $builder->expects('useWritePdo')->andReturn($builder); $builder->expects('where')->with('column', '=', 'value')->andReturn($builder); $builder->expects('where')->with('id', '<>', 123)->andReturn($builder); $builder->expects('count')->andReturn(100); $this->assertEquals(100, $verifier->getCount('table', 'column', 'value', 123, 'id', [])); } }