diff options
author | wei <> | 2006-07-14 06:56:16 +0000 |
---|---|---|
committer | wei <> | 2006-07-14 06:56:16 +0000 |
commit | 143980b6dab8ad87c44518e5b7befb614fb83b85 (patch) | |
tree | 6afadfb80ca6e4d36443f83bd5a6cc2cfe73032d /demos/time-tracker/tests/unit/CreateNewProjectTestCase.php | |
parent | c004bbdf4f0e824e5ccbaef8f98ca4a3d44d3b49 (diff) |
Add time-tracker sample and docs. (Incomplete)
Diffstat (limited to 'demos/time-tracker/tests/unit/CreateNewProjectTestCase.php')
-rw-r--r-- | demos/time-tracker/tests/unit/CreateNewProjectTestCase.php | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/demos/time-tracker/tests/unit/CreateNewProjectTestCase.php b/demos/time-tracker/tests/unit/CreateNewProjectTestCase.php new file mode 100644 index 00000000..0aa67405 --- /dev/null +++ b/demos/time-tracker/tests/unit/CreateNewProjectTestCase.php @@ -0,0 +1,90 @@ +<?php
+
+require_once(dirname(__FILE__).'/ProjectDaoTestCase.php');
+
+class CreateNewProjectTestCase extends ProjectDaoTestCase
+{
+ function testProjectDaoCanCreateNewProject()
+ {
+ $project = $this->createNewTestProject();
+
+ if(($conn = $this->connection) instanceof MockTSqlMapper)
+ {
+ $this->setupMockConnectionFor($project);
+ $conn->expectMinimumCallCount('queryForObject', 3);
+ $conn->expectAtLeastOnce('insert');
+ }
+
+ $this->assertProjectCreated($project);
+ }
+
+ function testProjectExistsException()
+ {
+ $project = $this->createNewTestProject();
+
+ if(($conn = $this->connection) instanceof MockTSqlMapper)
+ {
+ //make the project exist
+ $conn->setReturnValue('queryForObject',
+ $project, array('GetProjectByName', 'Project 1'));
+ $this->setupMockConnectionFor($project);
+ }
+
+ try
+ {
+ $this->assertProjectCreated($project);
+ $this->fail();
+ }
+ catch(TimeTrackerException $e)
+ {
+ $this->pass();
+ }
+ }
+ function testProjectCustomerNotExistsException()
+ {
+ $project = $this->createNewTestProject();
+
+ if(($conn = $this->connection) instanceof MockTSqlMapper)
+ {
+ //customer does not exist
+ $conn->setReturnValue('queryForObject',
+ null, array('GetUserByName', 'Customer A'));
+ $this->setupMockConnectionFor($project);
+ }
+
+ try
+ {
+ $this->assertProjectCreated($project);
+ $this->fail();
+ }
+ catch(TimeTrackerException $e)
+ {
+ $this->pass();
+ }
+ }
+
+ function testProjectManagerNotExistsException()
+ {
+ $project = $this->createNewTestProject();
+
+ if(($conn = $this->connection) instanceof MockTSqlMapper)
+ {
+ //manager does not exist
+ $conn->setReturnValue('queryForObject',
+ null, array('GetUserByName', 'Manager A'));
+ $this->setupMockConnectionFor($project);
+ }
+
+ try
+ {
+ $this->assertProjectCreated($project);
+ $this->fail();
+ }
+ catch(TimeTrackerException $e)
+ {
+ $this->pass();
+ }
+ }
+}
+
+?>
\ No newline at end of file |