<?php use CodeIgniter\Test\CIUnitTestCase; use CodeIgniter\Test\DatabaseTestTrait; use Tests\Support\Database\Seeds\ExampleSeeder; use Tests\Support\Models\ExampleModel; /** * @internal */ final class ExampleDatabaseTest extends CIUnitTestCase { use DatabaseTestTrait; protected $seed = ExampleSeeder::class; public function testModelFindAll(): void { $model = new ExampleModel(); // Get every row created by ExampleSeeder $objects = $model->findAll(); // Make sure the count is as expected $this->assertCount(3, $objects); } public function testSoftDeleteLeavesRow(): void { $model = new ExampleModel(); $this->setPrivateProperty($model, 'useSoftDeletes', true); $this->setPrivateProperty($model, 'tempUseSoftDeletes', true); /** @var stdClass $object */ $object = $model->first(); $model->delete($object->id); // The model should no longer find it $this->assertNull($model->find($object->id)); // ... but it should still be in the database $result = $model->builder()->where('id', $object->id)->get()->getResult(); $this->assertCount(1, $result); } }