summaryrefslogtreecommitdiff
path: root/demos/sqlmap-sample/tests
diff options
context:
space:
mode:
Diffstat (limited to 'demos/sqlmap-sample/tests')
-rw-r--r--demos/sqlmap-sample/tests/PersonTest.php57
-rw-r--r--demos/sqlmap-sample/tests/readme.txt1
-rw-r--r--demos/sqlmap-sample/tests/run_tests.php33
-rw-r--r--demos/sqlmap-sample/tests/sqlmap.xml13
4 files changed, 104 insertions, 0 deletions
diff --git a/demos/sqlmap-sample/tests/PersonTest.php b/demos/sqlmap-sample/tests/PersonTest.php
new file mode 100644
index 00000000..c40bffa0
--- /dev/null
+++ b/demos/sqlmap-sample/tests/PersonTest.php
@@ -0,0 +1,57 @@
+<?php
+
+class PersonTest extends UnitTestCase
+{
+ function testPersonList()
+ {
+ //try it
+ $people = TMapper::instance()->queryForList("SelectAll");
+
+ //test it
+ $this->assertNotNull($people, "Person list is not returned");
+ $this->assertTrue(count($people) > 0, "Person list is empty");
+ $person = $people[0];
+ $this->assertNotNull($person, "Person not returned");
+ }
+
+ function testPersonUpdate()
+ {
+ $expect = "wei";
+ $edited = "Nah";
+
+ //get it;
+ $person = TMapper::instance()->queryForObject("Select", 1);
+
+ //test it
+ $this->assertNotNull($person);
+ $this->assertEqual($expect, $person->FirstName);
+
+ //change it
+ $person->FirstName = $edited;
+ TMapper::instance()->update("Update", $person);
+
+ //get it again
+ $person = TMapper::instance()->queryForObject("Select", 1);
+
+ //test it
+ $this->assertEqual($edited, $person->FirstName);
+
+ //change it back
+ $person->FirstName = $expect;
+ TMapper::instance()->update("Update", $person);
+ }
+
+ function testPersonDelete()
+ {
+ //insert it
+ $person = new Person;
+ $person->ID = -1;
+ TMapper::instance()->insert("Insert", $person);
+
+ //delte it
+ $count = TMapper::instance()->delete("Delete", -1);
+ $this->assertEqual(1, $count);
+ }
+}
+
+?> \ No newline at end of file
diff --git a/demos/sqlmap-sample/tests/readme.txt b/demos/sqlmap-sample/tests/readme.txt
new file mode 100644
index 00000000..c0d0afdb
--- /dev/null
+++ b/demos/sqlmap-sample/tests/readme.txt
@@ -0,0 +1 @@
+The ''Data'' directory and ''Data/test.db'' must be writable by PHP for SQLite database to work. \ No newline at end of file
diff --git a/demos/sqlmap-sample/tests/run_tests.php b/demos/sqlmap-sample/tests/run_tests.php
new file mode 100644
index 00000000..843d0a79
--- /dev/null
+++ b/demos/sqlmap-sample/tests/run_tests.php
@@ -0,0 +1,33 @@
+<?php
+
+//define simple test location
+define('SIMPLE_TEST', realpath('../../../tests/UnitTests/simpletest'));
+
+//define prado framework location
+define('PRADO', realpath('../../../framework'));
+
+//define directory that contains business objects
+define('MY_MODELS', realpath('../protected/business-objects'));
+
+require_once(SIMPLE_TEST.'/unit_tester.php');
+require_once(SIMPLE_TEST.'/reporter.php');
+require_once(PRADO.'/prado.php');
+require_once(MY_MODELS.'/Person.php');
+
+//supress strict warnings
+error_reporting(E_ALL);
+
+//import Data mapper
+Prado::using('System.DataAccess.SQLMap.TMapper');
+
+//Add tests
+$test = new GroupTest('SQLMap Tutorial tests');
+$test->addTestFile('PersonTest.php');
+if(SimpleReporter::inCli())
+ $reporter = new TextReporter();
+else
+ $reporter = new HtmlReporter();
+$test->run($reporter);
+
+
+?> \ No newline at end of file
diff --git a/demos/sqlmap-sample/tests/sqlmap.xml b/demos/sqlmap-sample/tests/sqlmap.xml
new file mode 100644
index 00000000..3968fab4
--- /dev/null
+++ b/demos/sqlmap-sample/tests/sqlmap.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<sqlMapConfig>
+
+ <provider class="TAdodbProvider">
+ <datasource driver="sqlite" host="../protected/person-db/test.db" />
+ </provider>
+
+ <sqlMaps>
+ <sqlMap resource="../protected/person-db/person.xml"/>
+ <sqlMap resource="../protected/person-db/personHelper.xml"/>
+ </sqlMaps>
+
+</sqlMapConfig> \ No newline at end of file