Test case lists were broken

git-svn-id: svn://10.0.0.236/trunk@253328 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
ghendricks%novell.com
2008-07-29 20:37:30 +00:00
parent dfbabc08e6
commit 219eedf070
4 changed files with 37 additions and 11 deletions

View File

@@ -794,20 +794,26 @@ sub init {
$f = "test_cases.requirement";
},
"^case_plan_id," => sub {
my $join = $cgi->param('case_plans_tester') ? 'LEFT' : 'INNER';
push(@supptables,
if ($cgi->param('case_plans_tester')){
my $join = $cgi->param('case_plans_tester') ? 'LEFT' : 'INNER';
push(@supptables,
"$join JOIN test_case_plans AS case_plans_tester " .
"ON test_plans.plan_id = case_plans_tester.plan_id");
push(@supptables,
push(@supptables,
"$join JOIN test_cases " .
"ON case_plans_tester.case_id = test_cases.case_id");
if ($cgi->param('case_plans_tester')){
push(@supptables,
"$join JOIN profiles as map_plan_testers " .
"ON test_cases.default_tester_id = map_plan_testers.userid");
$f = "map_plan_testers.login_name";
}
else {
push(@supptables,
"INNER JOIN test_case_plans AS case_plans " .
"ON test_cases.case_id = case_plans.case_id");
push(@supptables,
"INNER JOIN test_plans " .
"ON case_plans.plan_id = test_plans.plan_id");
$f = "test_plans.plan_id";
}
},
@@ -1412,7 +1418,7 @@ sub init {
}
}
if ($obj eq 'case'){
unless ($cgi->param('isactive')){
if ($cgi->param('isactive')){
push @wherepart, 'case_runs.iscurrent = 1';
}
}

View File

@@ -1,8 +1,20 @@
"Product*","Plans+","Summary*","Author*","Default Tester","Status*","Priority*","Category*","Components","Requirements","Estimated Time","Automated","Scripts","Arguments","Alias","Tags","Bugs","Depends On","Blocks","Runs","Setup","Breakdown","Action","Expected Results"
"Example Product","22, 33","Test the button for causing world destruction","admin@testopia.com","tester@testopia.com","CONFIRMED","P3","Destruction","buttons, widgets","REQ#00001",00:02:00,"NO",,,,"Explosions, Fried Fish","55,66",2,"8 ,9, 10","770, 857","Fill out last will and Testement","No Breakdown","1.Locate the big red button
"TestProduct","22, 33","Test the button for causing world destruction","admin@testopia.com","tester@testopia.com","CONFIRMED","P3","Destruction","buttons, widgets","REQ#00001","00:00:2","NO",,,,"Explosions, Fried Fish","55,66",2,"8 ,9, 10","770, 857","Fill out last will and Testement","No Breakdown","1.Locate the big red button
2. Press the big red button
3. Wait for large explosion","1. Boom
2. Are you sure?"
"* Required field"
"+ Required if going to tr_importer.cgi directly (not from within the plan file menu)"
"TestProduct",23,"Automated test for world destruction","admin@testopia.com","tester@testopia.com","PROPOSED","P3","Destruction","buttons, widgets","REQ#00001","0","YES","destroy.pl","-w","tc_destruction_01","Explosions, Fried Fish",,2,"8 ,9, 10","770, 857","Fly to Mars","Mine ore","1.Locate the big red button
2. Press the big red button
3. Wait for large explosion","1. Boom
2. Eat fried fish"
,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,
"* Required field",,,,,,,,,,,,,,,,,,,,,,,
"+ Required if going to tr_importer.cgi directly (not from within the plan file menu)",,,,,,,,,,,,,,,,,,,,,,,
"Valid Author or Tester must be an email address matching a login name",,,,,,,,,,,,,,,,,,,,,,,
"Valid Status includes CONFIRMED DISABLED PROPOSED",,,,,,,,,,,,,,,,,,,,,,,
"Category must be a valid test case category name",,,,,,,,,,,,,,,,,,,,,,,
"Component can be a comma separated list of valid Component names",,,,,,,,,,,,,,,,,,,,,,,
"The following fields allow comma separated lists of values: plans, runs, tags, bugs, depends on, blocks",,,,,,,,,,,,,,,,,,,,,,,
"Priority must be a valid bugzilla priority",,,,,,,,,,,,,,,,,,,,,,,
1 Product* Plans+ Summary* Author* Default Tester Status* Priority* Category* Components Requirements Estimated Time Automated Scripts Arguments Alias Tags Bugs Depends On Blocks Runs Setup Breakdown Action Expected Results
2 Example Product TestProduct 22, 33 Test the button for causing world destruction admin@testopia.com tester@testopia.com CONFIRMED P3 Destruction buttons, widgets REQ#00001 00:02:00 00:00:2 NO Explosions, Fried Fish 55,66 2 8 ,9, 10 770, 857 Fill out last will and Testement No Breakdown 1.Locate the big red button 2. Press the big red button 3. Wait for large explosion 1. Boom 2. Are you sure?
3 * Required field TestProduct 23 Automated test for world destruction admin@testopia.com tester@testopia.com PROPOSED P3 Destruction buttons, widgets REQ#00001 0 YES destroy.pl -w tc_destruction_01 Explosions, Fried Fish 2 8 ,9, 10 770, 857 Fly to Mars Mine ore 1.Locate the big red button 2. Press the big red button 3. Wait for large explosion 1. Boom 2. Eat fried fish
4 + Required if going to tr_importer.cgi directly (not from within the plan file menu)
5
6
7 * Required field
8 + Required if going to tr_importer.cgi directly (not from within the plan file menu)
9 Valid Author or Tester must be an email address matching a login name
10 Valid Status includes CONFIRMED DISABLED PROPOSED
11 Category must be a valid test case category name
12 Component can be a comma separated list of valid Component names
13 The following fields allow comma separated lists of values: plans, runs, tags, bugs, depends on, blocks
14 Priority must be a valid bugzilla priority
15
16
17
18
19
20

View File

@@ -1716,6 +1716,7 @@ AttachGrid = function(object){
fields: [
{name: "id", mapping:"attachment_id"},
{name: "submitter", mapping:"submitter"},
{name: "caserun_id", mapping:"caserun_id"},
{name: "name", mapping:"filename"}, //editable
{name: "timestamp", mapping:"creation_ts"},
{name: "mimetype", mapping:"mime_type"}, //editable
@@ -1729,7 +1730,14 @@ AttachGrid = function(object){
var ds = this.store;
this.columns= [
{id:'attach_id', header: "ID", width: 20, sortable: true, dataIndex: 'id', renderer: attachlink},
{header: "Created", width:50, sortable:true, dataIndex: 'timestamp'},
{header: "Created", width:50, sortable:true, dataIndex: 'timestamp', renderer: function(v,md,r){
if (r.get('caserun_id') && Ext.getCmp('caserun_grid') && Ext.getCmp('caserun_grid').getSelectionModel().getSelected().get('caserun_id') == r.get('caserun_id')){
return '<b>* ' + v + '</b>';
}
else {
return v;
}
}},
{header: "Name", width: 50,editor: new Ext.grid.GridEditor(
new Ext.form.TextField({})), sortable: true, dataIndex: 'name'},
{header: "Submitted by", width:50, sortable:true, dataIndex: 'submitter'},

File diff suppressed because one or more lines are too long