UNPKG

playwright-testrail-sync

Version:

TestRail Integration for Playwright with comprehensive logging and error handling

77 lines 2.54 kB
"use strict"; /** * TestRail uploader * Handles TestRail API upload operations */ Object.defineProperty(exports, "__esModule", { value: true }); exports.uploadResultsToTestRail = uploadResultsToTestRail; exports.getTestResultForCase = getTestResultForCase; /** * Upload results to TestRail */ async function uploadResultsToTestRail(runId, testResults, options, apiClient, logger, state) { if (!runId) { logger.error("No TestRail run ID available for uploading results"); return; } try { logger.verboseApiCall("TestRail Uploading results to TestRail", { runId, resultCount: testResults.length, }); await apiClient.addResultsForCases(runId, testResults); logger.verboseApiCall("TestRail Results uploaded successfully", { runId, resultCount: testResults.length, url: `${options.testRail.host}/index.php?/runs/view/${runId}`, }); } catch (error) { logger.verboseApiCall("Failed to upload results to TestRail", error); const errorMessage = error.message || error.error || error.response?.data?.error || "Unknown error"; state.errors.push(`Failed to upload results: ${errorMessage}`); } } /** * Get test result ID for a specific case */ async function getTestResultForCase(caseId, runId, apiClient, logger) { try { logger.debug("Getting test result for case", { caseId, runId, }); const results = await apiClient.get(`/get_results_for_case/${runId}/${caseId}`); logger.debug("TestRail API response", { caseId, results }); // TestRail returns results in a nested structure: { results: [...] } const actualResults = results?.results || results; if (actualResults && Array.isArray(actualResults) && actualResults.length > 0) { logger.debug("Found test result", { caseId, resultId: actualResults[0].id, }); return actualResults[0]; } else { logger.verbose("No test results found for case", { caseId, results, }); return null; } } catch (error) { logger.error("Failed to get test result for case", { caseId, runId, error: error.message, }); return null; } } //# sourceMappingURL=testrail-uploader.js.map