playwright-testrail-sync
Version:
TestRail Integration for Playwright with comprehensive logging and error handling
52 lines • 1.69 kB
JavaScript
;
/**
* Result formatter
* Handles result formatting and comment generation
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateTestCommentWithMetadata = generateTestCommentWithMetadata;
exports.formatElapsedTime = formatElapsedTime;
const utils_1 = require("../../utils");
/**
* Generate test comment with metadata
*/
function generateTestCommentWithMetadata(test, result) {
const comment = (0, utils_1.generateTestComment)(result, true, // include duration
true // include error
);
// Only add metadata for failed tests
if (result.status === "failed") {
const metadata = [
`**TEST:** ${test.title}`,
`**LOCATION:** ${test.location.file} Line ${test.location.line}, Column ${test.location.column}`,
];
return `${comment}\n**METADATA:**\n${metadata.join("\n")}`;
}
return comment;
}
/**
* Format elapsed time for TestRail
* TestRail expects elapsed time in seconds as a string
*/
function formatElapsedTime(duration) {
if (!duration)
return "1s";
const totalSeconds = Math.floor(duration / 1000);
// Ensure at least 1 second for very fast tests
const seconds = Math.max(1, totalSeconds);
// Format as TestRail expects: "Xs" for seconds, "Xm Ys" for minutes
if (seconds < 60) {
return `${seconds}s`;
}
else {
const minutes = Math.floor(seconds / 60);
const remainingSeconds = seconds % 60;
if (remainingSeconds === 0) {
return `${minutes}m`;
}
else {
return `${minutes}m ${remainingSeconds}s`;
}
}
}
//# sourceMappingURL=result-formatter.js.map