function requirement_edit_assoc_tests($req_id, $session_records_name, $pc_covered_text_input_name) { global $db; $tbl_req = REQ_TBL; $f_req_proj_id = $tbl_req . "." . REQ_PROJECT_ID; $f_req_id = $tbl_req . "." . REQ_ID; $f_req_filename = $tbl_req . "." . REQ_FILENAME; $tbl_test_req_assoc = TEST_REQ_ASSOC_TBL; $f_test_req_assoc_req_id = $tbl_test_req_assoc . "." . TEST_REQ_ASSOC_REQ_ID; $f_test_req_assoc_test_id = $tbl_test_req_assoc . "." . TEST_REQ_ASSOC_TEMPEST_TEST_ID; $f_test_req_assoc_covered = $tbl_test_req_assoc . "." . TEST_REQ_ASSOC_PERCENT_COVERED; $tbl_test = TEST_TBL; $f_test_name = $tbl_test . "." . TEST_NAME; $f_test_id = $tbl_test . "." . TEST_ID; $s_project_properties = session_get_project_properties(); $project_id = $s_project_properties['project_id']; $test_ids = test_get_all_ids($project_id); foreach ($test_ids as $row) { $test_id = $row[TEST_ID]; $q = "\tSELECT {$f_test_req_assoc_req_id}\n\t\t\t\tFROM {$tbl_test_req_assoc}\n\t\t\t\tWHERE {$f_test_req_assoc_req_id} = {$req_id}\n\t\t\t\t\tAND\t{$f_test_req_assoc_test_id} = {$test_id}"; $rs = db_query($db, $q); $record_exists = db_num_rows($db, $rs); if (session_records_ischecked($session_records_name, $test_id)) { $pc_covered = session_validate_form_get_field($pc_covered_text_input_name . $test_id); if ($pc_covered == '') { $pc_covered = 0; } if (!$record_exists) { # Add new record $q = "\tINSERT INTO {$tbl_test_req_assoc}\n\t\t\t\t\t\t\t({$f_test_req_assoc_req_id}, {$f_test_req_assoc_test_id}, {$f_test_req_assoc_covered})\n\t\t\t\t\t\tVALUES\n\t\t\t\t\t\t\t({$req_id}, {$test_id}, '{$pc_covered}')"; } else { # Update current record $q = "\tUPDATE {$tbl_test_req_assoc}\n\t\t\t\t\t\tSET\n\t\t\t\t\t\t\t{$f_test_req_assoc_covered} = '{$pc_covered}'\n\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t{$f_test_req_assoc_req_id} = {$req_id}\n\t\t\t\t\t\t\tAND {$f_test_req_assoc_test_id} = {$test_id}"; } } else { if ($record_exists) { $q = "\tDELETE FROM {$tbl_test_req_assoc}\n\t\t\t\t\t\tWHERE {$f_test_req_assoc_req_id} = {$req_id}\n\t\t\t\t\t\t\tAND\t{$f_test_req_assoc_test_id} = {$test_id}"; } } db_query($db, $q); } }
function report_get_project_status($project_id, $release_id = null, $build_id = null, $testset_id = null) { global $db; $tbl_release = RELEASE_TBL; $f_rel_id = $tbl_release . "." . RELEASE_ID; $f_rel_name = $tbl_release . "." . RELEASE_NAME; $f_project_id = $tbl_release . "." . RELEASE_PROJECT_ID; $tbl_build = BUILD_TBL; $f_build_id = $tbl_build . "." . BUILD_ID; $f_build_release_id = $tbl_build . "." . BUILD_REL_ID; # testsets $ts_tbl = TS_TBL; $ts_id = $ts_tbl . "." . TS_ID; $ts_name = $ts_tbl . "." . TS_NAME; $ts_status = $ts_tbl . "." . TS_STATUS; $ts_desc = $ts_tbl . "." . TS_DESCRIPTION; $ts_build_id = $ts_tbl . "." . TS_BUILD_ID; $ts_orderby = $ts_tbl . "." . TS_ORDERBY; $ts_archive = $ts_tbl . "." . TS_ARCHIVE; $ts_date_created = $ts_tbl . "." . TS_DATE_CREATED; $q = "\tSELECT\n\t\t\t\t{$ts_id}\n\t\t\tFROM {$ts_tbl}\n\t\t\tINNER JOIN {$tbl_build}\n\t\t\t\tON {$f_build_id} = {$ts_build_id}\n\t\t\tINNER JOIN {$tbl_release}\n\t\t\t\tON {$f_rel_id} = {$f_build_release_id}\n\t\t\tWHERE {$f_project_id} = {$project_id}"; $testsets = db_fetch_array($db, db_query($db, $q)); $test_count = 0; $passed_count = 0; $failed_count = 0; $awaiting_review_count = 0; $wip_count = 0; $not_running_count = 0; $not_started_count = 0; foreach ($testsets as $row_testset) { # number of tests $assoc_tbl = TEST_TS_ASSOC_TBL; $f_assoc_id = $assoc_tbl . "." . TEST_TS_ASSOC_ID; $f_assoc_ts_id = $assoc_tbl . "." . TEST_TS_ASSOC_TS_ID; $f_assoc_test_id = $assoc_tbl . "." . TEST_TS_ASSOC_TEST_ID; $f_status = $assoc_tbl . "." . TEST_TS_ASSOC_STATUS; $f_finished = $assoc_tbl . "." . TEST_TS_ASSOC_FINISHED; $f_assigned_to = $assoc_tbl . "." . TEST_TS_ASSOC_ASSIGNED_TO; $f_comments = $assoc_tbl . "." . TEST_TS_ASSOC_COMMENTS; $q = "\tSELECT\n\t\t\t\t\t{$f_status},\n\t\t\t\t\tCOUNT({$f_status}) AS CountStatus\n\t\t\t\tFROM\n\t\t\t\t\t{$assoc_tbl}\n\t\t\t\tWHERE\n\t\t\t\t\t{$f_assoc_ts_id} = " . $row_testset[TS_ID] . "\n\t\t\t\tGROUP BY {$f_status}"; $row_count_statuses = db_fetch_array($db, db_query($db, $q)); foreach ($row_count_statuses as $row_count_status) { switch ($row_count_status[TEST_TS_ASSOC_STATUS]) { case "Passed": $passed_count += $row_count_status["CountStatus"]; break; case "Failed": $failed_count += $row_count_status["CountStatus"]; break; case "Finished: Awaiting Review": $awaiting_review_count += $row_count_status["CountStatus"]; break; case "WIP": $wip_count += $row_count_status["CountStatus"]; break; case "Not Running": $not_running_count += $row_count_status["CountStatus"]; break; case "Not Started": $not_started_count += $row_count_status["CountStatus"]; break; } } $test_count = sizeof(test_get_all_ids($project_id)); } return array(sizeof($testsets), $test_count, $passed_count, $failed_count, $awaiting_review_count, $wip_count, $not_running_count, $not_started_count); }