summaryrefslogtreecommitdiff
path: root/tests/unit/Data/ActiveRecord/CriteriaTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit/Data/ActiveRecord/CriteriaTest.php')
-rw-r--r--tests/unit/Data/ActiveRecord/CriteriaTest.php51
1 files changed, 51 insertions, 0 deletions
diff --git a/tests/unit/Data/ActiveRecord/CriteriaTest.php b/tests/unit/Data/ActiveRecord/CriteriaTest.php
new file mode 100644
index 00000000..3c4c15d7
--- /dev/null
+++ b/tests/unit/Data/ActiveRecord/CriteriaTest.php
@@ -0,0 +1,51 @@
+<?php
+
+Prado::using('System.Data.ActiveRecord.TActiveRecord');
+require_once(dirname(__FILE__).'/records/DepartmentRecord.php');
+require_once(dirname(__FILE__).'/records/DepSections.php');
+
+/**
+ * @package System.Data.ActiveRecord
+ */
+class CriteriaTest extends PHPUnit_Framework_TestCase
+{
+ function setup()
+ {
+ $conn = new TDbConnection('pgsql:host=localhost;dbname=test', 'test','test');
+ TActiveRecordManager::getInstance()->setDbConnection($conn);
+ }
+
+ function test_orderby_only()
+ {
+ $criteria = new TActiveRecordCriteria;
+ $criteria->OrdersBy['name'] = 'asc';
+ $records = DepartmentRecord::finder()->findAll($criteria);
+ $this->assertEqual(count($records), 8);
+ $this->assertEqual($records[0]->name, '+GX Service');
+ $this->assertEqual($records[7]->name, 'Marketing');
+ }
+
+ function test_orderby_only_desc()
+ {
+ $criteria = new TActiveRecordCriteria;
+ $criteria->OrdersBy['name'] = 'desc';
+ $records = DepartmentRecord::finder()->findAll($criteria);
+ $this->assertEqual(count($records), 8);
+ $this->assertEqual($records[7]->name, '+GX Service');
+ $this->assertEqual($records[0]->name, 'Marketing');
+ }
+
+ function test_criteria_parameters()
+ {
+ $criteria = new TActiveRecordCriteria('sql', "One", "two", 3);
+ $expect = array("One", "two", 3);
+ $this->assertEqual($criteria->getParameters()->toArray(), $expect);
+ }
+
+ function test_criteria_parameters_array()
+ {
+ $expect = array("One", "two", 3);
+ $criteria = new TActiveRecordCriteria('sql', $expect);
+ $this->assertEqual($criteria->getParameters()->toArray(), $expect);
+ }
+}