Test CI4 models with DatabaseTestTrait — seed data, insert records, and assert DB state.
Testing Models
use CodeIgniter\Test\CIUnitTestCase;
use CodeIgniter\Test\DatabaseTestTrait;
class PostModelTest extends CIUnitTestCase {
use DatabaseTestTrait;
protected $migrate = true;
protected $seed = "TestSeeder";
public function testCreatePost(): void {
$id = model(PostModel::class)->insert([
"title" => "Test Post",
"body" => "Content",
"user_id" => 1,
]);
$this->seeInDatabase("posts", ["title"=>"Test Post"]);
}
}