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