| <?php␊ |
| /* -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */␊ |
| /*␊ |
| # ***** BEGIN LICENSE BLOCK *****␊ |
| # This file is part of InDefero, an open source project management application.␊ |
| # Copyright (C) 2008-2011 CĂ©ondo Ltd and contributors.␊ |
| #␊ |
| # InDefero is free software; you can redistribute it and/or modify␊ |
| # it under the terms of the GNU General Public License as published by␊ |
| # the Free Software Foundation; either version 2 of the License, or␊ |
| # (at your option) any later version.␊ |
| #␊ |
| # InDefero is distributed in the hope that it will be useful,␊ |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of␊ |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the␊ |
| # GNU General Public License for more details.␊ |
| #␊ |
| # You should have received a copy of the GNU General Public License␊ |
| # along with this program; if not, write to the Free Software␊ |
| # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA␊ |
| #␊ |
| # ***** END LICENSE BLOCK ***** */␊ |
| ␊ |
| class IDF_ProjectTest extends PHPUnit_Framework_TestCase␊ |
| {␊ |
| public function testGetIssueCountByOwner()␊ |
| {␊ |
| // Add users␊ |
| $user1 = new Pluf_User();␊ |
| $user1->login = 'user1';␊ |
| $user1->create();␊ |
| $user2 = new Pluf_User();␊ |
| $user2->login = 'user2';␊ |
| $user2->create();␊ |
| ␊ |
| // Add a project␊ |
| $prj = new IDF_Project();␊ |
| $prj->create();␊ |
| $tag = $prj->getTagIdsByStatus('open');␊ |
| ␊ |
| // First test with no issue␊ |
| $stats = $prj->getIssueCountByOwner();␊ |
| $this->assertEquals($stats, array());␊ |
| ␊ |
| // Add some issues␊ |
| $issue1 = new IDF_Issue();␊ |
| $issue1->project = $prj;␊ |
| $issue1->submitter = $user1;␊ |
| $issue1->owner = $user1;␊ |
| $issue1->status = new IDF_Tag($tag[0]);␊ |
| $issue1->create();␊ |
| ␊ |
| $issue2 = new IDF_Issue();␊ |
| $issue2->project = $prj;␊ |
| $issue2->submitter = $user2;␊ |
| $issue2->owner = $user1;␊ |
| $issue2->status = new IDF_Tag($tag[0]);␊ |
| $issue2->create(); ␊ |
| ␊ |
| $issue3 = new IDF_Issue();␊ |
| $issue3->project = $prj;␊ |
| $issue3->submitter = $user2;␊ |
| $issue3->status = new IDF_Tag($tag[0]);␊ |
| $issue3->create(); ␊ |
| ␊ |
| $issue4 = new IDF_Issue();␊ |
| $issue4->project = $prj;␊ |
| $issue4->submitter = $user2;␊ |
| $issue4->owner = $user2;␊ |
| $issue4->status = new IDF_Tag($tag[0]);␊ |
| $issue4->create(); ␊ |
| ␊ |
| // 2nd test␊ |
| $stats = $prj->getIssueCountByOwner();␊ |
| $expected = array(0 => 1,␊ |
| $user2->id => 1,␊ |
| $user1->id => 2);␊ |
| $this->assertEquals($stats, $expected);␊ |
| ␊ |
| // Clean DB␊ |
| $issue4->delete();␊ |
| $issue3->delete();␊ |
| $issue2->delete();␊ |
| $issue1->delete();␊ |
| $prj->delete();␊ |
| $user2->delete();␊ |
| $user1->delete();␊ |
| }␊ |
| }␊ |
| ␊ |