
freemarker.requirements.ftl Maven / Gradle / Ivy
<#if requirements.parentRequirement.isPresent()>
<#assign pageTitle = inflection.of(requirements.parentRequirement.get().type).inPluralForm().asATitle() >
<#else>
<#assign pageTitle = "Requirements" >
#if>
<#assign requirementTypeTitle = inflection.of(requirements.type).asATitle() >
<#assign requirementsSectionTitle = inflection.of(requirements.type).inPluralForm().asATitle() >
${pageTitle}
<#include "libraries/common.ftl">
<#include "libraries/jquery-ui.ftl">
<#include "libraries/datatables.ftl">
<#assign pie = true>
<#include "libraries/jqplot.ftl">
<#include "components/test-outcomes.ftl">
<#include "components/requirements-list.ftl">
<#assign successfulManualTests = (requirements.count("manual").withResult("SUCCESS") > 0)>
<#assign pendingManualTests = (requirements.count("manual").withResult("PENDING") > 0)>
<#assign ignoredManualTests = (requirements.count("manual").withResult("IGNORED") > 0)>
<#assign failingManualTests = (requirements.count("manual").withResult("FAILURE") > 0)>
<#if (requirements.parentRequirement.isPresent())>
<#assign parentRequirement = requirements.parentRequirement.get() >
<#assign parentTitle = inflection.of(parentRequirement.name).asATitle() >
<#assign parentType = inflection.of(parentRequirement.type).asATitle() >
<#if (parentRequirement.cardNumber?has_content) >
<#assign issueNumber = "[" + formatter.addLinks(parentRequirement.cardNumber) + "]" >
<#else>
<#assign issueNumber = "">
#if>
#if>
<#include "menu.ftl">
<#if requirements.parentRequirement.isPresent()>
<@main_menu selected="${requirements.parentRequirement.get().type}" />
<#else>
<@main_menu selected="requirements" />
#if>
<#if (requirements.parentRequirement.isPresent())>
${parentType}: ${issueNumber} ${parentTitle}
<#if parentRequirement.narrative.renderedText?has_content>
${formatter.renderDescription(parentRequirement.narrative.renderedText)}
#if>
<#foreach customField in parentRequirement.customFields >
<#if parentRequirement.getCustomField(customField).present>
${customField}
${parentRequirement.getCustomField(customField).get().renderedText}
#if>
#foreach>
#if>
<#if (requirements.totalTestCount > 0 || requirements.flattenedRequirementCount > 0)>
Requirements Overview
Requirement Type
Total
Pass
Fail
Pending
Ignored
Untested
<#foreach requirementType in requirements.types>
<#assign requirementTitle = inflection.of(requirementType).inPluralForm().asATitle() />
${requirementTitle}
${requirements.requirementsOfType(requirementType).requirementCount}
${requirements.requirementsOfType(requirementType).completedRequirementsCount}
${requirements.requirementsOfType(requirementType).failingRequirementsCount}
${requirements.requirementsOfType(requirementType).pendingRequirementsCount}
${requirements.requirementsOfType(requirementType).ignoredRequirementsCount}
${requirements.requirementsOfType(requirementType).requirementsWithoutTestsCount}
#foreach>
Acceptance Criteria (tests)
${requirements.testOutcomes.testCount}
${requirements.testOutcomes.havingResult("success").testCount}
${requirements.testOutcomes.havingResult("failure").testCount
+ requirements.testOutcomes.havingResult("error").testCount
+ requirements.testOutcomes.havingResult("compromised").testCount}
${requirements.testOutcomes.havingResult("pending").testCount}
${requirements.testOutcomes.havingResult("ignored").testCount + requirements.testOutcomes.havingResult("skipped").testCount}
<#include "test-result-summary.ftl"/>
#if>
<#if (requirements.requirementOutcomes?has_content || testOutcomes.total > 0)>
<#if (requirements.requirementOutcomes?has_content || (requirements.parentRequirement.isPresent() && requirements.parentRequirement.get().hasExamples()))>
<#if (requirements.requirementOutcomes?has_content)>
-
${requirementsSectionTitle} (${requirements.requirementCount})
#if>
<#if (requirements.parentRequirement.isPresent() && requirements.parentRequirement.get().hasExamples())>
- Examples (${requirements.parentRequirement.get().exampleCount}
)
#if>
#if>
<#if (requirements.requirementOutcomes?has_content)>
<@requirements_results requirements=requirements title=requirementTypeTitle id="req-results-table"/>
#if>
<#if testOutcomes.tests?has_content >
<@test_results testOutcomes=testOutcomes title="Acceptance Criteria" id="test-results-table"/>
#if>
#if>
<#if (requirements.parentRequirement.isPresent() && requirements.parentRequirement.get().hasExamples())>
<#-- Examples -->
Description
<#assign examples = requirements.parentRequirement.get().examples >
<#foreach example in examples>
<#if example.cardNumber.isPresent() >
${formatter.addLinks(example.cardNumber.get())}
#if>
${formatter.addLineBreaks(example.description)}
#foreach>
#if>