<?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(); } }