diff --git a/tests/DeleteTest.php b/tests/DeleteTest.php index 51774ab..d0d37d0 100644 --- a/tests/DeleteTest.php +++ b/tests/DeleteTest.php @@ -5,22 +5,8 @@ use ipl\Sql\Delete; use ipl\Sql\QueryBuilder; -class DeleteTest extends \PHPUnit\Framework\TestCase +class DeleteTest extends TestCase { - /** - * The DELETE query to test - * - * @var Delete - */ - protected $query; - - /** - * The SQL query builder - * - * @var QueryBuilder - */ - protected $queryBuilder; - public function setupTestTest() { $this->query = new Delete(); @@ -53,12 +39,4 @@ public function testFromWithArray() $this->assertSame(['t1' => 'table'], $this->query->getFrom()); $this->assertCorrectStatementAndValues('DELETE FROM table t1', []); } - - protected function assertCorrectStatementAndValues($statement, $values) - { - list($actualStatement, $actualValues) = $this->queryBuilder->assembleDelete($this->query); - - $this->assertSame($statement, $actualStatement); - $this->assertSame($values, $actualValues); - } } diff --git a/tests/HavingTest.php b/tests/HavingTest.php index c035d05..84d65b9 100644 --- a/tests/HavingTest.php +++ b/tests/HavingTest.php @@ -3,32 +3,10 @@ namespace ipl\Tests\Sql; use ipl\Sql\Expression; -use ipl\Sql\QueryBuilder; use ipl\Sql\Select; -use ipl\Sql\Sql; -class HavingTest extends \PHPUnit\Framework\TestCase +class HavingTest extends TestCase { - /** - * The SELECT query to test - * - * @var Select - */ - protected $query; - - /** - * The SQL query builder - * - * @var QueryBuilder - */ - protected $queryBuilder; - - public function setupTest() - { - $this->query = new Select(); - $this->queryBuilder = new QueryBuilder(new TestAdapter()); - } - public function testHavingStringFormat() { $this->setupTest(); @@ -95,12 +73,4 @@ public function testResetHaving() $this->query->getHaving() ); } - - protected function assertCorrectStatementAndValues($statement, $values) - { - list($actualStatement, $actualValues) = $this->queryBuilder->assembleSelect($this->query); - - $this->assertSame($statement, $actualStatement); - $this->assertSame($values, $actualValues); - } } diff --git a/tests/InsertTest.php b/tests/InsertTest.php index dd1a200..1f3959d 100644 --- a/tests/InsertTest.php +++ b/tests/InsertTest.php @@ -4,30 +4,14 @@ use ipl\Sql\Expression; use ipl\Sql\Insert; -use ipl\Sql\QueryBuilder; use ipl\Sql\Select; -class InsertTest extends \PHPUnit\Framework\TestCase +class InsertTest extends TestCase { - /** - * The INSERT query to test - * - * @var Insert - */ - protected $query; - - /** - * The SQL query builder - * - * @var QueryBuilder - */ - protected $queryBuilder; + protected $queryClass = Insert::class; - public function setupTest() - { - $this->query = new Insert(); - $this->queryBuilder = new QueryBuilder(new TestAdapter()); - } + /** @var Insert */ + protected $query; public function testEmptyInsertInto() { @@ -157,12 +141,4 @@ public function testInsertIntoStatementWithColumnsAndValues() $this->assertCorrectStatementAndValues('INSERT INTO table (c1,c2) VALUES(?,?)', ['v1', 'v2']); } - - protected function assertCorrectStatementAndValues($statement, $values) - { - list($actualStatement, $actualValues) = $this->queryBuilder->assembleInsert($this->query); - - $this->assertSame($statement, $actualStatement); - $this->assertSame($values, $actualValues); - } } diff --git a/tests/Mssql/SelectTest.php b/tests/Mssql/SelectTest.php index 2f055f4..65652de 100644 --- a/tests/Mssql/SelectTest.php +++ b/tests/Mssql/SelectTest.php @@ -3,30 +3,11 @@ namespace ipl\Tests\Sql\Mssql; use ipl\Sql\Adapter\Mssql; -use ipl\Sql\QueryBuilder; -use ipl\Sql\Select; +use ipl\Tests\Sql\TestCase; -class SelectTest extends \PHPUnit\Framework\TestCase +class SelectTest extends TestCase { - /** - * The SELECT query to test - * - * @var Select - */ - protected $query; - - /** - * The SQL query builder - * - * @var QueryBuilder - */ - protected $queryBuilder; - - public function setupTest() - { - $this->query = new Select(); - $this->queryBuilder = new QueryBuilder(new Mssql()); - } + protected $adapterClass = Mssql::class; public function testLimitOffset() { @@ -63,12 +44,4 @@ public function testAutomaticallyFixesLimitWithoutOrder() $this->assertCorrectStatementAndValues('SELECT a FROM b ORDER BY 1 OFFSET 30 ROWS FETCH NEXT 10 ROWS ONLY'); } - - protected function assertCorrectStatementAndValues($statement, array $values = []) - { - list($actualStatement, $actualValues) = $this->queryBuilder->assembleSelect($this->query); - - $this->assertSame($statement, $actualStatement); - $this->assertSame($values, $actualValues); - } } diff --git a/tests/SelectTest.php b/tests/SelectTest.php index 16155cc..03b1246 100644 --- a/tests/SelectTest.php +++ b/tests/SelectTest.php @@ -3,33 +3,12 @@ namespace ipl\Tests\Sql; use ipl\Sql\Expression; -use ipl\Sql\QueryBuilder; use ipl\Sql\Select; use ipl\Sql\Sql; use UnexpectedValueException; -class SelectTest extends \PHPUnit\Framework\TestCase +class SelectTest extends TestCase { - /** - * The SELECT query to test - * - * @var Select - */ - protected $query; - - /** - * The SQL query builder - * - * @var QueryBuilder - */ - protected $queryBuilder; - - public function setupTest() - { - $this->query = new Select(); - $this->queryBuilder = new QueryBuilder(new TestAdapter()); - } - public function testDistinct() { $this->setupTest(); @@ -821,12 +800,4 @@ public function testInvalidOderByDirectionsThrowAnError() $this->queryBuilder->assembleSelect($this->query); } - - protected function assertCorrectStatementAndValues($statement, $values) - { - list($actualStatement, $actualValues) = $this->queryBuilder->assembleSelect($this->query); - - $this->assertSame($statement, $actualStatement); - $this->assertSame($values, $actualValues); - } } diff --git a/tests/UpdateTest.php b/tests/UpdateTest.php index 203bfa8..bb7a1b6 100644 --- a/tests/UpdateTest.php +++ b/tests/UpdateTest.php @@ -3,31 +3,15 @@ namespace ipl\Tests\Sql; use ipl\Sql\Expression; -use ipl\Sql\QueryBuilder; use ipl\Sql\Select; use ipl\Sql\Update; -class UpdateTest extends \PHPUnit\Framework\TestCase +class UpdateTest extends TestCase { - /** - * The UPDATE query to test - * - * @var Update - */ - protected $query; - - /** - * The SQL query builder - * - * @var QueryBuilder - */ - protected $queryBuilder; + protected $queryClass = Update::class; - public function setupTest() - { - $this->query = new Update(); - $this->queryBuilder = new QueryBuilder(new TestAdapter()); - } + /** @var Update */ + protected $query; public function testEmptyUpdateTable() { @@ -100,12 +84,4 @@ public function testUpdateStatementWithSet() $this->assertCorrectStatementAndValues('UPDATE table SET c1 = ?, c2 = ?', ['v1', 'v2']); } - - protected function assertCorrectStatementAndValues($statement, $values) - { - list($actualStatement, $actualValues) = $this->queryBuilder->assembleUpdate($this->query); - - $this->assertSame($statement, $actualStatement); - $this->assertSame($values, $actualValues); - } } diff --git a/tests/WhereTest.php b/tests/WhereTest.php index 67a9950..00ae5c6 100644 --- a/tests/WhereTest.php +++ b/tests/WhereTest.php @@ -3,32 +3,11 @@ namespace ipl\Tests\Sql; use ipl\Sql\Expression; -use ipl\Sql\QueryBuilder; use ipl\Sql\Select; use ipl\Sql\Sql; -class WhereTest extends \PHPUnit\Framework\TestCase +class WhereTest extends TestCase { - /** - * The SELECT query to test - * - * @var Select - */ - protected $query; - - /** - * The SQL query builder - * - * @var QueryBuilder - */ - protected $queryBuilder; - - public function setupTest() - { - $this->query = new Select(); - $this->queryBuilder = new QueryBuilder(new TestAdapter()); - } - public function testWhereStringFormat() { $this->setupTest(); @@ -287,12 +266,4 @@ public function testResetWhere() $this->query->getWhere() ); } - - protected function assertCorrectStatementAndValues($statement, $values) - { - list($actualStatement, $actualValues) = $this->queryBuilder->assembleSelect($this->query); - - $this->assertSame($statement, $actualStatement); - $this->assertSame($values, $actualValues); - } }