Anonymous | Login | Signup for a new account | 2019-02-16 10:23 UTC | ![]() |
Main | My View | View Issues | Change Log | My Account |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0004739 | TestLink | Custom fields ON FILTERS | public | 2011-09-07 20:40 | 2013-05-22 20:59 | ||||
Reporter | etomberg | ||||||||
Assigned To | fman | ||||||||
Priority | normal | Severity | major | Reproducibility | always | ||||
Status | closed | Resolution | fixed | ||||||
Platform | OS | OS Version | |||||||
Product Version | 1.9.3 (2011 Q3 - bug fixing) | ||||||||
Fixed in Version | 1.9.5 (2012 Q4 - bug fixing) | ||||||||
Summary | 0004739: Custom filed filter does not work for TCs having 2+ versions in Test Specification treeview | ||||||||
Description | We have multiple custom fields (of string value type) for project test cases. Applying a filter on some custom fields in Test Specification tree view works well until test cases have unique version. Adding new test case version which has the same values as previous one for all custom fields causes problem with filtering. The result of filtering is strange but stable. It returns any time the same subset of test cases but some of them do not match filter criteria. | ||||||||
Steps To Reproduce | 1. Have several custom fields with multiple values for different test cases. Example: FeatureGroup (FACEBOOK, TWITTER, ORKUT), Feature (SAP, MAIL, FEED, FRIENDS). 2. In Test Specification screen, set a filter on these custom fields. Example: FACEBOOK, SAP. Validate that all test cases are shown as expected. 3. Assign them to execution, mark all of them as passed. This is to get all test cases unchangeable. 4. Open s test case with FeatureGroup = FACEBOOK, Feature = SAP. Click Create New Version button and update some text in Summary or Steps. Save new version of the test case. 5. Apply the same filter as before (see step 0000002). In our case, the filter does not work properly. It does not return the changed test case (I think because of the multiple versions). in our case we got as well some other test cases selected by the filter but they do not have at all both FeatureGroup = FACEBOOK, Feature = SAP. | ||||||||
Additional Information | I have tried to find a code responsible for this filtering. It is not easy. tlTestCaseFilterControl.class.php builds those filters but I did not find a place in code where it builds the SQL query based on selected custom field values. I think the bug is there. | ||||||||
Tags | No tags attached. | ||||||||
Database (MySQL,Postgres,etc) | mySQL 5.5.15 | ||||||||
Browser | FireFox 4.0 | ||||||||
PHP Version | PHP 5.5 | ||||||||
TestCaseID | |||||||||
QA Team - Task Workflow Status | READY FOR TESTING | ||||||||
Attached Files | |||||||||
![]() |
||||||
|
![]() |
|
(0015851) mbeluet (reporter) 2011-09-26 12:36 |
Hello, We notice also the problem and that seems to be a bug... For information we are using Testlink 1.9.3 (we were using Testlink 1.8.5 before). The problem occurs in Test Specification folder. As we use some customs fields, we tried to use the filter that appears in 1.9.X release. It appears that the filter seems not to work, depending on the filter choosed on Custom Fields results are not coherent. It seems to be due to a conception problem in the filter (file lib\functions\treeMenu.inc.php, fonction filter_by_cf_values(), line 1466) In the algorithm, it seems that it don't take into account the possibility of multiple version for a Test Case (as the custom fields is now connected to a Test Case Version and not to a Test Case). More, If I have several version of the Test case with several values of Custom fields (If the value changed between 2 versions), which value will be taken ? For me, I think, the conception of the algorithm miss something and maybe you should do a choice for example verify on the last test case version active to be able to have the correct value to filter on. |
(0015854) bcharloup (reporter) 2011-09-27 14:21 |
Hello, I have the same problem with TL 1.9.2 (i spend few time to understand the reason of this strange behaviour of filter on custom fields). My conclusion is the same than etomberg : "missing" testcase where those with several version. My solution, for the present time, was to delete old versions of testcase. Now, with only one version (the last) for each testcase in my testplan, filter on CS works fine. Nevertheless, if this bug could be corrected, it would be fine. |
(0015908) alexey.kolyanov (reporter) 2011-10-20 12:15 edited on: 2011-10-20 14:35 |
I can propose a patch that looks working. At least until official solution gets released. Edit the file /lib/functions/treeMenu.inc.php (I put line numbers from 1.9.3 version). My file version: * @version CVS: $Id: treeMenu.inc.php,v 1.154.2.1 2010/11/10 11:22:04 amkhullar Exp $ {code} 1459: $tables = tlObject::getDBTables(array('cfield_design_values','nodes_hierarchy','tcversions')); // PATCH FOR BUG 0004739: This line modified! 1501: $sql = " /* $debugMsg */ SELECT CFD.value FROM {$tables['cfield_design_values']} CFD," . " {$tables['nodes_hierarchy']} NH" . ", {$tables['tcversions']} TCV" . // PATCH FOR BUG 0004739: This line added! " WHERE CFD.node_id = NH.id" . " AND NH.parent_id = {$node['id']} ". // PATCH FOR BUG 0004739: This line modified " AND TCV.id=NH.id and TCV.active=1 "; // PATCH FOR BUG 0004739: This line added! ... 1531: $sql .= " order by TCV.version desc limit 1"; // PATCH FOR BUG 0004739: This line added! 1532: $rows = $db->fetchRowsIntoMap($sql,'value'); 1533: 1534: //if there exist as many rows as custom fields to be filtered by 1535: //the tc does meet the criteria 1536: //$passed = (count($rows) == count($cf_hash)) ? true : false; // PATCH FOR BUG 0004739: This line deleted! 1537: $passed = (count($rows) > 0) ? true : false; // PATCH FOR BUG 0004739: This line added! {/code} Last line is added before line "$rows = $db->fetchRowsIntoMap($sql,'value');" In other words - we use table 'tcversions' to filter by only last TC version. Sorry for dirty solution. Looks working for me at first look. UPD: sorry for some fixes, the source logic there was from another dimension :( |
(0015909) alexey.kolyanov (reporter) 2011-10-20 12:36 |
Notice: This patch does not work for Test Executions - need to change function filter_cf_selection() in the file /lib/functions/testplan.class.php too. Will do that some later. |
(0015910) alexey.kolyanov (reporter) 2011-10-20 14:40 |
Fix for Test Execution: edit file file /lib/functions/testplan.class.php {code} 2569: foreach ($tp_tcs as $tc_id => $tc_value) 2570: { 2571: // BUGID 2877 - Custom Fields linked to TC versions 2572: $sql = " /* $debugMsg */ SELECT CFD.value FROM {$this->tables['cfield_design_values']} CFD," . 2573: " {$this->tables['nodes_hierarchy']} NH" . 2574: ", {$this->tables['tcversions']} TCV ". // PATCH FOR BUG 0004739: This line added! 2575: " WHERE CFD.node_id = NH.id " . 2576: " AND NH.parent_id = {$tc_value['tc_id']} " . 2577: " AND TCV.id=NH.id and TCV.active=1 " . // PATCH FOR BUG 0004739: This line added! 2578: " {$cf_query} " . // PATCH FOR BUG 0004739: This line modified! 2579: " order by TCV.version desc limit 1"; // PATCH FOR BUG 0004739: This line added! 2580: 2581: $rows = $this->db->fetchRowsIntoMap($sql,'value'); 2582: // if there exist as many rows as custom fields to be filtered by => tc does meet the criteria 2583: //if(count($rows) == $cf_qty) // PATCH FOR BUG 0004739: This line deleted! 2584: if(count($rows) >0) // PATCH FOR BUG 0004739: This line added! 2585: { 2586: $new_tp_tcs[$tc_id] = $tp_tcs[$tc_id]; 2587: } 2588: } {/code} Hope it will help someone. |
(0018055) dlatierro (reporter) 2012-12-14 14:13 |
Hi, I am having the same issue, I try to add the code but couldn't make the filters work correctly. I will follow up for more suggestions Thanks |
(0018057) fman (administrator) 2012-12-14 16:55 |
update to 1.9.5 and retest |
(0018058) dlatierro (reporter) 2012-12-14 17:05 |
Are you sure? is not on the README.txt bug fixing list |
(0018059) fman (administrator) 2012-12-14 18:13 |
@diaterro we are asking for little help, i.e. confirmation issue is still there, if you have not time is ok. We need a confirmation not a new question. |
(0018060) dlatierro (reporter) 2012-12-14 18:29 |
No problem, I will set the server and test on the 1.9.5 on Monday |
(0018061) fman (administrator) 2012-12-14 18:35 |
great! |
(0018068) dlatierro (reporter) 2012-12-17 12:06 |
I tested and is working :) I try the filters with String and List custom fields and is working correctly, on Specifications and Execution page. It seems that the debug query was not commented on Specifications page because is displayed when filter is applied. Check the screenshot: http://screencast.com/t/6reuKrS8B [^] Thanks for the effort, I really appreciate it |
![]() |
|||
Date Modified | Username | Field | Change |
2011-09-07 20:40 | etomberg | New Issue | |
2011-09-07 21:29 | fman | Relationship added | child of 0004712 |
2011-09-07 21:29 | fman | Relationship deleted | child of 0004712 |
2011-09-07 21:29 | fman | Relationship added | related to 0004712 |
2011-09-26 12:36 | mbeluet | Note Added: 0015851 | |
2011-09-27 14:21 | bcharloup | Note Added: 0015854 | |
2011-10-04 20:43 | fman | Category | Custom fields => Custom fields ON FILTERS |
2011-10-20 12:15 | alexey.kolyanov | Note Added: 0015908 | |
2011-10-20 12:17 | alexey.kolyanov | Note Edited: 0015908 | View Revisions |
2011-10-20 12:36 | alexey.kolyanov | Note Added: 0015909 | |
2011-10-20 14:35 | alexey.kolyanov | Note Edited: 0015908 | View Revisions |
2011-10-20 14:40 | alexey.kolyanov | Note Added: 0015910 | |
2012-03-21 14:20 | lblestel | Note Added: 0016465 | |
2012-03-21 14:22 | lblestel | Note Edited: 0016465 | View Revisions |
2012-03-22 08:34 | lblestel | Note Edited: 0016465 | View Revisions |
2012-03-22 09:31 | lblestel | Note Deleted: 0016465 | |
2012-12-14 14:13 | dlatierro | Note Added: 0018055 | |
2012-12-14 16:55 | fman | Note Added: 0018057 | |
2012-12-14 17:05 | dlatierro | Note Added: 0018058 | |
2012-12-14 18:13 | fman | Note Added: 0018059 | |
2012-12-14 18:29 | dlatierro | Note Added: 0018060 | |
2012-12-14 18:35 | fman | Note Added: 0018061 | |
2012-12-17 12:06 | dlatierro | Note Added: 0018068 | |
2012-12-17 16:54 | fman | Task Workflow Status | => READY FOR TESTING |
2012-12-17 16:54 | fman | Status | new => resolved |
2012-12-17 16:54 | fman | Fixed in Version | => 1.9.5 (2012 Q4 - bug fixing) |
2012-12-17 16:54 | fman | Resolution | open => fixed |
2012-12-17 16:54 | fman | Assigned To | => fman |
2013-05-22 20:59 | fman | Status | resolved => closed |
Copyright © 2000 - 2019 MantisBT Team |