appdb/ include/application.php unit_test/test_ ...
WineHQ
wineowner at wine.codeweavers.com
Fri Sep 29 20:31:05 CDT 2006
ChangeSet ID: 28390
CVSROOT: /opt/cvs-commit
Module name: appdb
Changes by: wineowner at winehq.org 2006/09/29 20:31:04
Modified files:
include : application.php
unit_test : test_application.php
Log message:
"EA Durbin" <ead1234 at hotmail.com>
Application::countWithRating() and getWithRating() should avoid queued applications. Add unit test
to ensure that we don't include queued applications
Patch: http://cvs.winehq.org/patch.py?id=28390
Old revision New revision Changes Path
1.73 1.74 +3 -1 appdb/include/application.php
1.2 1.3 +45 -1 appdb/unit_test/test_application.php
Index: appdb/include/application.php
diff -u -p appdb/include/application.php:1.73 appdb/include/application.php:1.74
--- appdb/include/application.php:1.73 30 Sep 2006 1:31: 4 -0000
+++ appdb/include/application.php 30 Sep 2006 1:31: 4 -0000
@@ -371,7 +371,8 @@ class Application {
{
$sQuery = "SELECT DISTINCT count(appId) as total
FROM appVersion
- WHERE maintainer_rating = '?'";
+ WHERE maintainer_rating = '?'
+ AND queued='false'";
if($hResult = query_parameters($sQuery, $sRating))
{
@@ -386,6 +387,7 @@ class Application {
$sQuery = "SELECT DISTINCT appId
FROM appVersion
WHERE maintainer_rating = '?'
+ AND queued = 'false'
ORDER BY appId ASC LIMIT ?, ?";
if($hResult = query_parameters($sQuery, $sRating, $iOffset, $iItemsPerPage))
Index: appdb/unit_test/test_application.php
diff -u -p appdb/unit_test/test_application.php:1.2 appdb/unit_test/test_application.php:1.3
--- appdb/unit_test/test_application.php:1.2 30 Sep 2006 1:31: 4 -0000
+++ appdb/unit_test/test_application.php 30 Sep 2006 1:31: 4 -0000
@@ -153,6 +153,50 @@ function test_application_getWithRating(
delete_app_and_user($oApp, $oUser);
+
+ //test to ensure getWithRating doesn't return applications that are queued
+
+ if(!$oUser = create_and_login_user()) //create user without admin priveliges
+ return false;
+
+
+ $oApp = new Application();
+ $oApp->sName = "Some application";
+ $oApp->sDescription = "some description";
+ $oApp->submitterId = $oUser->iUserId;
+ if(!$oApp->create())
+ {
+ $oUser->delete(); /* clean up the user we created prior to exiting */
+ echo "Failed to create application!\n";
+ return false;
+ }
+
+ $iAppId = $oApp->iAppId; /* use the iAppId of the application we just created */
+
+ $oVersion = new Version();
+ $oVersion->versionName = "Some Version".$iVersionIdIndex;
+ $oVersion->description = "Some Version description".$iVersionIdIndex;
+ $oVersion->iAppId = $oApp->iAppId;
+ $oVersion->sTestedRating = "Bronze";
+ $oVersion->sQueued = "True";
+
+ if(!$oVersion->create())
+ {
+ delete_app_and_user($oApp, $oUser);
+ echo "Failed to create version!\n";
+ return false;
+ }
+
+
+ $aApps=Application::getWithRating($sRating, $iOffset, $iItemsPerPage);
+
+ if ( in_array($iAppId, $aApps )) //if the appId is in our test results fail queued test
+ {
+ delete_app_and_user($oApp, $oUser);
+ echo "getWithRating failed to return a unique result set\n";
+ return false;
+ }
+
return true;
}
@@ -197,7 +241,7 @@ function create_and_login_user()
echo "Got '".$retval."' instead of SUCCESS(".SUCCESS.")\n";
return false;
}
-
+
return $oUser;
}
More information about the wine-cvs
mailing list