Move getAppsFromUserId() to user::getAppsMaintained(). Also implement a unit test for
user::getAppsMaintained()
This commit is contained in:
@@ -113,7 +113,8 @@ if ($aClean['sSub'])
|
||||
echo '<tr valign="top"><td class="color0"><b>This user also maintains these apps:</b></td>',"\n";
|
||||
|
||||
$firstDisplay = true;
|
||||
$other_apps = getAppsFromUserId($oRow->userId);
|
||||
$oUser = new User($oRow->userId);
|
||||
$other_apps = $oUser->getAppsMaintained();
|
||||
if($other_apps)
|
||||
{
|
||||
while(list($index, list($appIdOther, $versionIdOther, $superMaintainerOther)) = each($other_apps))
|
||||
|
||||
@@ -7,6 +7,7 @@ require_once(BASE."include/version.php");
|
||||
require_once(BASE."include/vendor.php");
|
||||
require_once(BASE."include/url.php");
|
||||
require_once(BASE."include/util.php");
|
||||
require_once(BASE."include/mail.php");
|
||||
|
||||
/**
|
||||
* Application class for handling applications.
|
||||
|
||||
@@ -3,29 +3,6 @@
|
||||
/* functions for maintainers */
|
||||
/*****************************/
|
||||
|
||||
/**
|
||||
* get the applications and versions that this userId maintains
|
||||
*/
|
||||
function getAppsFromUserId($userId)
|
||||
{
|
||||
/* retrieve the list of application and order them by application name */
|
||||
$hResult = query_parameters("SELECT appMaintainers.appId, versionId, superMaintainer, appName FROM ".
|
||||
"appFamily, appMaintainers WHERE appFamily.appId = appMaintainers.appId ".
|
||||
"AND userId = '?' ORDER BY appName", $userId);
|
||||
if(!$hResult || mysql_num_rows($hResult) == 0)
|
||||
return;
|
||||
|
||||
$retval = array();
|
||||
$c = 0;
|
||||
while($oRow = mysql_fetch_object($hResult))
|
||||
{
|
||||
$retval[$c] = array($oRow->appId, $oRow->versionId, $oRow->superMaintainer);
|
||||
$c++;
|
||||
}
|
||||
|
||||
return $retval;
|
||||
}
|
||||
|
||||
/*
|
||||
* get the userIds of maintainers for a versionId
|
||||
*/
|
||||
|
||||
@@ -19,7 +19,7 @@ function global_sidebar_login() {
|
||||
|
||||
/* if this user maintains any applications list them */
|
||||
/* in their sidebar */
|
||||
$apps_user_maintains = getAppsFromUserId($_SESSION['current']->iUserId);
|
||||
$apps_user_maintains = $_SESSION['current']->getAppsMaintained();
|
||||
if($apps_user_maintains)
|
||||
{
|
||||
$g->addmisc("");
|
||||
|
||||
@@ -296,6 +296,29 @@ class User {
|
||||
return mysql_num_rows($hResult);
|
||||
}
|
||||
|
||||
/**
|
||||
* get the applications and versions that this user maintains
|
||||
*/
|
||||
function getAppsMaintained()
|
||||
{
|
||||
/* retrieve the list of application and order them by application name */
|
||||
$hResult = query_parameters("SELECT appMaintainers.appId, versionId, superMaintainer, appName FROM ".
|
||||
"appFamily, appMaintainers WHERE appFamily.appId = appMaintainers.appId ".
|
||||
"AND userId = '?' ORDER BY appName", $this->iUserId);
|
||||
if(!$hResult || mysql_num_rows($hResult) == 0)
|
||||
return NULL;
|
||||
|
||||
$aAppsMaintained = array();
|
||||
$c = 0;
|
||||
while($oRow = mysql_fetch_object($hResult))
|
||||
{
|
||||
$aAppsMaintained[$c] = array($oRow->appId, $oRow->versionId, $oRow->superMaintainer);
|
||||
$c++;
|
||||
}
|
||||
|
||||
return $aAppsMaintained;
|
||||
}
|
||||
|
||||
function getMaintainerCount($bSuperMaintainer)
|
||||
{
|
||||
if(!$this->isLoggedIn()) return 0;
|
||||
|
||||
@@ -353,6 +353,83 @@ function test_user_getMaintainerCount()
|
||||
return true;
|
||||
}
|
||||
|
||||
function test_user_getAppsMaintained()
|
||||
{
|
||||
test_start(__FUNCTION__);
|
||||
|
||||
global $test_email, $test_password;
|
||||
|
||||
/* login the user */
|
||||
$oUser = new User();
|
||||
$retval = $oUser->login($test_email, $test_password);
|
||||
if($retval != SUCCESS)
|
||||
{
|
||||
echo "Got '".$retval."' instead of SUCCESS(".SUCCESS.")\n";
|
||||
return false;
|
||||
}
|
||||
|
||||
/* make this user an admin so we can create applications without having them queued */
|
||||
$hResult = query_parameters("INSERT into user_privs values ('?', '?')",
|
||||
$oUser->iUserId, "admin");
|
||||
|
||||
/* create a application so we have a valid appFamily for the call to user::getAppsMaintained() */
|
||||
$oApp = new Application();
|
||||
$oApp->sName = "Some application";
|
||||
$oApp->sDescription = "some description";
|
||||
$oApp->submitterId = $oUser->iUserId;
|
||||
if(!$oApp->create())
|
||||
{
|
||||
echo "Failed to create application!\n";
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* make the user a super maintatiner
|
||||
*/
|
||||
$iAppId = $oApp->iAppId; /* use the iAppId of the application we just created */
|
||||
$iVersionId = 655200;
|
||||
$iQueueId = 655300;
|
||||
$bSuperMaintainer = TRUE;
|
||||
$statusMessage = $oUser->addAsMaintainer($iAppId, $iVersionId, $bSuperMaintainer, $iQueueId);
|
||||
|
||||
/* get an array of the apps maintained */
|
||||
$aAppsMaintained = $oUser->getAppsMaintained();
|
||||
|
||||
if(!$aAppsMaintained)
|
||||
{
|
||||
echo "aAppsMaintained is null, we expected a non-null return value!\n";
|
||||
return false;
|
||||
}
|
||||
|
||||
/* get only the first entry from the array of applications maintained */
|
||||
/* we only added the user as a maintainer of a single application */
|
||||
list($iAppId1, $iVersionId1, $bSuperMaintainer1) = $aAppsMaintained[0];
|
||||
|
||||
/* make sure all parameters match what we added as maintainer information */
|
||||
if($iAppId1 != $iAppId)
|
||||
{
|
||||
echo "Expected iAppid of ".$iAppId." but got ".$iAppId1."\n";
|
||||
return false;
|
||||
}
|
||||
|
||||
if($iVersionId1 != $iVersionId)
|
||||
{
|
||||
echo "Expected iVersionId of ".$iVersionId." but got ".$iVersionId1."\n";
|
||||
return false;
|
||||
}
|
||||
|
||||
if($bSuperMaintainer1 != $bSuperMaintainer)
|
||||
{
|
||||
echo "Expected bSuperMaintainer of ".$bSuperMaintainer." but got ".$bSuperMaintainer1."\n";
|
||||
return false;
|
||||
}
|
||||
|
||||
/* remove maintainership for this user */
|
||||
$oUser->deleteMaintainer($iAppId);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/*************************/
|
||||
/* Main testing routines */
|
||||
@@ -392,6 +469,11 @@ if(!test_user_getMaintainerCount())
|
||||
else
|
||||
echo "test_user_getMaintainerCount() passed\n";
|
||||
|
||||
if(!test_user_getAppsMaintained())
|
||||
echo "test_user_getAppsMaintained() failed!\n";
|
||||
else
|
||||
echo "test_user_getAppsMaintained() passed\n";
|
||||
|
||||
/* TODO: the rest of the user member functions we don't currently test */
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user