{{ 'tcms.traceability.title' | transloco }}

@if (screenTree.isLoading()) { {{ 'tcms.common.loading' | transloco }} }
@if (activeView() === 'coverage') {
@if (!selectedRoute()) {

{{ 'tcms.traceability.selectPrompt' | transloco }}

} @else if (coverage.isLoading()) {
{{ 'tcms.common.loading' | transloco }}
} @else if (coverageData(); as data) {

{{ data.screenTitle }}

{{ data.screenRoute }}
{{ data.totalCases }} {{ 'tcms.traceability.cases' | transloco }} @if (data.p1Count > 0) { P1: {{ data.p1Count }} } @if (data.p2Count > 0) { P2: {{ data.p2Count }} } @if (data.passCount > 0) { ✓ {{ data.passCount }} } @if (data.failCount > 0) { ✕ {{ data.failCount }} } @if (data.lastRunDate) { {{ data.lastRunDate }} }
@for (tc of testCases(); track tc.testCaseId) {
{{ tc.tcId }} {{ tc.title }}
{{ tc.priority }} @if (tc.lastRunStatus) { {{ tc.lastRunStatus }} }
@if (tc.screenLinkId) { @if (pendingUnlinkId() === tc.screenLinkId) { } @else { } }
@if (isCaseExpanded(tc.testCaseId)) {
@for (step of tc.steps; track $index) {
{{ step.stepType }} {{ step.stepText }}
} @if (tc.steps.length === 0) { {{ 'tcms.traceability.noSteps' | transloco }} }
}
} @if (testCases().length === 0) {

{{ 'tcms.traceability.noCases' | transloco }}

}
@if (!showLinkForm()) { } } @else {

{{ 'tcms.traceability.noCoverageData' | transloco }} {{ selectedRoute() }}.

@if (!showLinkForm()) { } } @if (showLinkForm()) { }
} @if (activeView() === 'gaps') {
@if (coverageGaps.isLoading()) {
{{ 'tcms.common.loading' | transloco }}
} @else if (gapsList().length === 0) {

{{ 'tcms.traceability.gaps.none' | transloco }}

} @else { @if (screenGaps().length > 0) {

{{ 'tcms.traceability.gaps.screenHeading' | transloco }} {{ screenGaps().length }}

{{ 'tcms.traceability.gaps.screenDesc' | transloco }}

@for (gap of screenGaps(); track gap.route) { }
{{ 'tcms.traceability.gaps.col.screen' | transloco }} {{ 'tcms.traceability.gaps.col.module' | transloco }} {{ 'tcms.traceability.gaps.col.route' | transloco }} {{ 'tcms.traceability.gaps.col.linked' | transloco }}
{{ gap.title }} {{ gap.moduleName }} {{ gap.route }} {{ gap.linkedCases }}
} @if (apiGaps().length > 0) {

{{ 'tcms.traceability.gaps.apiHeading' | transloco }} {{ apiGaps().length }}

{{ 'tcms.traceability.gaps.apiDesc' | transloco }}

@for (gap of apiGaps(); track gap.route) { }
{{ 'tcms.traceability.gaps.col.apiPath' | transloco }} {{ 'tcms.traceability.gaps.col.module' | transloco }} {{ 'tcms.traceability.gaps.col.linked' | transloco }}
{{ gap.route }} {{ gap.moduleName }} {{ gap.linkedCases }}
} }
}