Commit e5a1244e by Carsten Brandt

moved unit test from cubrid to general

should be tested for all dbms not only cubrid even if the problem may not exist in all of them it is good to verify that.
parent 1bee8474
...@@ -426,4 +426,32 @@ class ActiveRecordTest extends DatabaseTestCase ...@@ -426,4 +426,32 @@ class ActiveRecordTest extends DatabaseTestCase
$this->assertEquals(0, $record->var3); $this->assertEquals(0, $record->var3);
$this->assertEquals('', $record->stringcol); $this->assertEquals('', $record->stringcol);
} }
/**
* Some PDO implementations(e.g. cubrid) do not support boolean values.
* Make sure this does not affect AR layer.
*/
public function testBooleanAttribute()
{
$customer = new Customer();
$customer->name = 'boolean customer';
$customer->email = 'mail@example.com';
$customer->status = true;
$customer->save(false);
$customer->refresh();
$this->assertEquals(1, $customer->status);
$customer->status = false;
$customer->save(false);
$customer->refresh();
$this->assertEquals(0, $customer->status);
$customers = Customer::find()->where(['status' => true])->all();
$this->assertEquals(2, count($customers));
$customers = Customer::find()->where(['status' => false])->all();
$this->assertEquals(1, count($customers));
}
} }
...@@ -11,32 +11,4 @@ use yiiunit\framework\db\ActiveRecordTest; ...@@ -11,32 +11,4 @@ use yiiunit\framework\db\ActiveRecordTest;
class CubridActiveRecordTest extends ActiveRecordTest class CubridActiveRecordTest extends ActiveRecordTest
{ {
public $driverName = 'cubrid'; public $driverName = 'cubrid';
/**
* cubrid PDO does not support boolean values.
* Make sure this does not affect AR layer.
*/
public function testBooleanAttribute()
{
$customer = new Customer();
$customer->name = 'boolean customer';
$customer->email = 'mail@example.com';
$customer->status = true;
$customer->save(false);
$customer->refresh();
$this->assertEquals(1, $customer->status);
$customer->status = false;
$customer->save(false);
$customer->refresh();
$this->assertEquals(0, $customer->status);
$customers = Customer::find()->where(['status' => true])->all();
$this->assertEquals(2, count($customers));
$customers = Customer::find()->where(['status' => false])->all();
$this->assertEquals(1, count($customers));
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment