From d1ecf2ec2a8c992f0ba6d4e6f61a50d53b1a455d Mon Sep 17 00:00:00 2001 From: Wilmer Arambula <42547589+terabytesoftw@users.noreply.github.com> Date: Wed, 29 Oct 2025 11:06:36 -0300 Subject: [PATCH] Add SQLite `InconditionBuilderTest` class to assert subquery `IN` is not supported and raise code coverage. (#20652) --- .../conditions/InconditionBuilderTest.php | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 tests/framework/db/sqlite/conditions/InconditionBuilderTest.php diff --git a/tests/framework/db/sqlite/conditions/InconditionBuilderTest.php b/tests/framework/db/sqlite/conditions/InconditionBuilderTest.php new file mode 100644 index 0000000000..ae48fe7852 --- /dev/null +++ b/tests/framework/db/sqlite/conditions/InconditionBuilderTest.php @@ -0,0 +1,47 @@ + + */ +final class InconditionBuilderTest extends DatabaseTestCase +{ + public $driverName = 'sqlite'; + + public function testBuildSubqueryInCondition(): void + { + $db = $this->getConnection(); + $query = new Query(); + $inConditionBuilder = new InConditionBuilder($db->getQueryBuilder()); + + $inCondition = new InCondition( + ['id'], + 'in', + $query->select('id')->from('users')->where(['active' => 1]), + ); + + $this->expectException(NotSupportedException::class); + $this->expectExceptionMessage( + 'yii\db\sqlite\conditions\InConditionBuilder::buildSubqueryInCondition is not supported by SQLite.', + ); + + $inConditionBuilder->build($inCondition); + } +}