diff options
author | wei <> | 2006-12-04 02:42:57 +0000 |
---|---|---|
committer | wei <> | 2006-12-04 02:42:57 +0000 |
commit | 562979c4a8fe47952edf7986d4144624e41630f7 (patch) | |
tree | b79c3fd28e1aedb40d04e148da4b0763c928a3a5 /tests/simple_unit/SqlMap/SelectKeyTest.php | |
parent | 91fe694c8755aa2d05743946a3681be7232420b6 (diff) |
add unit tests for active record and sqlmap
Diffstat (limited to 'tests/simple_unit/SqlMap/SelectKeyTest.php')
-rw-r--r-- | tests/simple_unit/SqlMap/SelectKeyTest.php | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/tests/simple_unit/SqlMap/SelectKeyTest.php b/tests/simple_unit/SqlMap/SelectKeyTest.php new file mode 100644 index 00000000..dd1d58df --- /dev/null +++ b/tests/simple_unit/SqlMap/SelectKeyTest.php @@ -0,0 +1,120 @@ +<?php
+
+require_once(dirname(__FILE__).'/BaseCase.php');
+
+/**
+ * @package System.DataAccess.SQLMap
+ */
+class SelectKeyTest extends BaseCase
+{
+ function __construct()
+ {
+ parent::__construct();
+ $this->initSqlMap();
+
+ //force autoload
+ new Account;
+ new Order;
+ new LineItem;
+ new LineItemCollection;
+ new A; new B; new C; new D; new E; new F;
+ }
+
+ /**
+ * Test Insert with post GeneratedKey
+ */
+ function testInsertPostKey()
+ {
+ $this->initScript('line-item-init.sql');
+
+ $item = new LineItem();
+
+ $item->setId(10);
+ $item->setCode("blah");
+ $item->setOrder(new Order());
+ $item->getOrder()->setId(9);
+ $item->setPrice(44.00);
+ $item->setQuantity(1);
+
+ $key = $this->sqlmap->Insert("InsertLineItemPostKey", $item);
+
+ $this->assertIdentical(99, $key);
+ $this->assertIdentical(99, $item->getId());
+
+ $param["Order_ID"] = 9;
+ $param["LineItem_ID"] =10;
+ $testItem = $this->sqlmap->QueryForObject("GetSpecificLineItem", $param);
+
+ $this->assertNotNull($testItem);
+ $this->assertIdentical(10, $testItem->getId());
+
+ $this->initScript('line-item-init.sql');
+ }
+
+ /**
+ * Test Insert pre GeneratedKey
+ */
+ function testInsertPreKey()
+ {
+ $this->initScript('line-item-init.sql');
+
+ $item = new LineItem();
+
+ $item->setId(10);
+ $item->setCode("blah");
+ $item->setOrder(new Order());
+ $item->getOrder()->setId(9);
+ $item->setPrice(44.00);
+ $item->setQuantity(1);
+
+ $key = $this->sqlmap->Insert("InsertLineItemPreKey", $item);
+
+ $this->assertIdentical(99, $key);
+ $this->assertIdentical(99, $item->getId());
+
+ $param["Order_ID"] = 9;
+ $param["LineItem_ID"] = 99;
+
+ $testItem = $this->sqlmap->QueryForObject("GetSpecificLineItem", $param);
+
+ $this->assertNotNull($testItem);
+ $this->assertIdentical(99, $testItem->getId());
+
+ $this->initScript('line-item-init.sql');
+ }
+
+ /**
+ * Test Test Insert No Key
+ */
+ function testInsertNoKey()
+ {
+ $this->initScript('line-item-init.sql');
+
+ $item = new LineItem();
+
+ $item->setId(100);
+ $item->setCode("blah");
+ $item->setOrder(new Order());
+ $item->getOrder()->setId(9);
+ $item->setPrice(44.00);
+ $item->setQuantity(1);
+
+
+ $key = $this->sqlmap->Insert("InsertLineItemNoKey", $item);
+
+ $this->assertNull($key);
+ $this->assertIdentical(100, $item->getId());
+
+ $param["Order_ID"] = 9;
+ $param["LineItem_ID"] = 100;
+
+ $testItem = $this->sqlmap->QueryForObject("GetSpecificLineItem", $param);
+
+ $this->assertNotNull($testItem);
+ $this->assertIdentical(100, $testItem->getId());
+
+ $this->initScript('line-item-init.sql');
+ }
+}
+
+?>
\ No newline at end of file |