mirror of
https://gitee.com/hyperf/hyperf.git
synced 2024-12-04 12:47:55 +08:00
Optimize DB model unit test
This commit is contained in:
parent
d9136269f3
commit
f41949c711
@ -29,11 +29,13 @@ use Hyperf\Database\Model\Relations\Relation;
|
||||
use Hyperf\Database\Query\Grammars\Grammar;
|
||||
use Hyperf\Database\Query\Processors\Processor;
|
||||
use Hyperf\Utils\Collection as BaseCollection;
|
||||
use Hyperf\Utils\Context;
|
||||
use Hyperf\Utils\InteractsWithTime;
|
||||
use HyperfTest\Database\Stubs\DateModelStub;
|
||||
use HyperfTest\Database\Stubs\ModelCamelStub;
|
||||
use HyperfTest\Database\Stubs\ModelCastingStub;
|
||||
use HyperfTest\Database\Stubs\ModelDestroyStub;
|
||||
use HyperfTest\Database\Stubs\ModelDynamicHiddenStub;
|
||||
use HyperfTest\Database\Stubs\ModelDynamicVisibleStub;
|
||||
use HyperfTest\Database\Stubs\ModelFindWithWritePdoStub;
|
||||
use HyperfTest\Database\Stubs\ModelSaveStub;
|
||||
@ -205,41 +207,48 @@ class ModelTest extends TestCase
|
||||
|
||||
public function testCreateMethodSavesNewModel()
|
||||
{
|
||||
$_SERVER['__model.saved'] = false;
|
||||
Context::set('__model.saved', false);
|
||||
$model = ModelSaveStub::create(['name' => 'taylor']);
|
||||
$this->assertTrue($_SERVER['__model.saved']);
|
||||
$this->assertTrue(Context::get('__model.saved'));
|
||||
$this->assertEquals('taylor', $model->name);
|
||||
}
|
||||
|
||||
public function testMakeMethodDoesNotSaveNewModel()
|
||||
{
|
||||
$_SERVER['__model.saved'] = false;
|
||||
Context::set('__model.saved', false);
|
||||
$model = ModelSaveStub::make(['name' => 'taylor']);
|
||||
$this->assertFalse($_SERVER['__model.saved']);
|
||||
$this->assertFalse(Context::get('__model.saved'));
|
||||
$this->assertEquals('taylor', $model->name);
|
||||
}
|
||||
|
||||
public function testForceCreateMethodSavesNewModelWithGuardedAttributes()
|
||||
{
|
||||
$_SERVER['__model.saved'] = false;
|
||||
Context::set('__model.saved', false);
|
||||
$model = ModelSaveStub::forceCreate(['id' => 21]);
|
||||
$this->assertTrue($_SERVER['__model.saved']);
|
||||
$this->assertTrue(Context::get('__model.saved'));
|
||||
$this->assertEquals(21, $model->id);
|
||||
}
|
||||
|
||||
public function testFindMethodUseWritePdo()
|
||||
{
|
||||
ModelFindWithWritePdoStub::onWriteConnection()->find(1);
|
||||
// Avoid 'This test did not perform any assertions' notice
|
||||
$this->assertTrue(true);
|
||||
|
||||
}
|
||||
|
||||
public function testDestroyMethodCallsQueryBuilderCorrectly()
|
||||
{
|
||||
ModelDestroyStub::destroy(1, 2, 3);
|
||||
// Avoid 'This test did not perform any assertions' notice
|
||||
$this->assertTrue(true);
|
||||
}
|
||||
|
||||
public function testDestroyMethodCallsQueryBuilderCorrectlyWithCollection()
|
||||
{
|
||||
ModelDestroyStub::destroy(new Collection([1, 2, 3]));
|
||||
// Avoid 'This test did not perform any assertions' notice
|
||||
$this->assertTrue(true);
|
||||
}
|
||||
|
||||
public function testWithMethodCallsQueryBuilderCorrectly()
|
||||
|
@ -17,6 +17,7 @@ use Hyperf\Database\ConnectionInterface as Connection;
|
||||
use Hyperf\Database\Model\Model;
|
||||
use Hyperf\Database\Query\Grammars\Grammar;
|
||||
use Hyperf\Database\Query\Processors\Processor;
|
||||
use Hyperf\Utils\Context;
|
||||
use Mockery;
|
||||
|
||||
class ModelSaveStub extends Model
|
||||
@ -27,7 +28,7 @@ class ModelSaveStub extends Model
|
||||
|
||||
public function save(array $options = [])
|
||||
{
|
||||
$_SERVER['__eloquent.saved'] = true;
|
||||
Context::set('__model.saved', true);
|
||||
}
|
||||
|
||||
public function setIncrementing($value)
|
||||
|
Loading…
Reference in New Issue
Block a user