projects = array(); $this->users = array(); for ($i=1;$i<3;$i++) { $project = new IDF_Project(); $project->name = 'Test project '.$i; $project->shortname = 'test'.$i; $project->description = sprintf('This is a test project %d.', $i); $project->create(); $this->projects[] = $project; $user = new Pluf_User(); $user->last_name = 'user'.$i; $user->login = 'user'.$i; $user->email = 'user'.$i.'@example.com'; $user->create(); $this->users[] = $user; } } public function tearDown() { // This will drop cascading issues, comments and tags. foreach ($this->projects as $proj) { $proj->delete(); } foreach ($this->users as $u) { $u->delete(); } } public function testCreate() { $issue = new IDF_Issue(); $issue->project = $this->projects[0]; $issue->summary = 'This is a test issue'; $issue->submitter = $this->users[0]; $issue->create(); $this->assertEqual(1, $issue->id); $this->assertIdentical(null, $issue->get_owner()); $this->assertNotIdentical(null, $issue->get_submitter()); } public function testCreateMultiple() { for ($i=1;$i<11;$i++) { $issue = new IDF_Issue(); $issue->project = $this->projects[0]; $issue->summary = 'This is a test issue '.$i; $issue->submitter = $this->users[0]; $issue->owner = $this->users[1]; $issue->create(); } for ($i=11;$i<16;$i++) { $issue = new IDF_Issue(); $issue->project = $this->projects[1]; $issue->summary = 'This is a test issue '.$i; $issue->submitter = $this->users[1]; $issue->create(); } $this->assertEqual(10, $this->projects[0]->get_issues_list()->count()); $this->assertEqual(5, $this->projects[1]->get_issues_list()->count()); $this->assertEqual(5, $this->users[1]->get_submitted_issue_list()->count()); $this->assertEqual(10, $this->users[0]->get_submitted_issue_list()->count()); $this->assertEqual(10, $this->users[1]->get_owned_issue_list()->count()); $this->assertEqual(0, $this->users[1]->get_owned_issue_list(array('filter' => 'project='.(int)$this->projects[1]->id))->count()); $this->assertEqual(10, $this->users[1]->get_owned_issue_list(array('filter' => 'project='.(int)$this->projects[0]->id))->count()); } public function testAddIssueComment() { $issue = new IDF_Issue(); $issue->project = $this->projects[0]; $issue->summary = 'This is a test issue'; $issue->submitter = $this->users[0]; $issue->create(); $ic = new IDF_IssueComment(); $ic->issue = $issue; $ic->submitter = $this->users[0]; $ic->content = 'toto'; $changes = array('s' => 'New summary', 'st' => 'Active', 't' => '-OS:Linux OS:Windows'); $ic->changes = $changes; $ic->create(); $comments = $issue->get_comments_list(); $this->assertEqual($changes, $comments[0]->changes); } }