@@ -75,15 +75,18 @@ module.exports = (function() {
75
75
* @param feature - object which contains feature data
76
76
* @returns {* }
77
77
*/
78
- function getFeature ( feature ) {
78
+ function getFeature ( feature , scenariosNumberInFeature , passedScenariosNumberInFeature , stepsNumberInFeature , passedStepsInFeature ) {
79
79
80
80
var template = grunt . file . read ( templates . featureTemplate ) ,
81
81
featureTemplate ;
82
82
83
83
featureTemplate = grunt . template . process ( template , {
84
84
data :{
85
- name : feature . keyword + ": " + feature . name ,
86
- description : feature . description
85
+ name : feature . name ,
86
+ scenariosNumberInFeature : scenariosNumberInFeature ,
87
+ passedScenariosNumberInFeature : passedScenariosNumberInFeature ,
88
+ stepsNumberInFeature : stepsNumberInFeature ,
89
+ passedStepsInFeature : passedStepsInFeature
87
90
}
88
91
} ) ;
89
92
return featureTemplate ;
@@ -132,38 +135,52 @@ module.exports = (function() {
132
135
passedSteps = 0 ,
133
136
stepsNumber = 0 ,
134
137
scenariosNumber = 0 ,
138
+ scenariosNumberInFeature = 0 ,
139
+ passedScenariosNumberInFeature = 0 ,
140
+ stepsNumberInFeature = 0 ,
141
+ passedStepsInFeature = 0 ,
142
+ scenariosHtml = '' ,
135
143
element ,
136
144
step ;
137
145
138
146
for ( var i = 0 ; i < testResults . length ; i ++ ) {
139
147
140
148
html = '' ;
141
- html += getFeature ( testResults [ i ] ) ;
149
+ scenariosNumberInFeature = 0 ;
150
+ passedScenariosNumberInFeature = 0 ;
151
+ stepsNumberInFeature = 0 ;
152
+ passedStepsInFeature = 0 ;
142
153
143
154
for ( var j = 0 ; j < testResults [ i ] . elements . length ; j ++ ) {
144
155
element = testResults [ i ] . elements [ j ] ;
145
156
if ( element . type === 'scenario' ) {
146
157
scenariosNumber ++ ;
158
+ scenariosNumberInFeature ++ ;
147
159
stepsHtml = '' ;
148
160
isPassed = true ;
149
161
for ( var k = 0 ; k < testResults [ i ] . elements [ j ] . steps . length ; k ++ ) {
150
162
step = testResults [ i ] . elements [ j ] . steps [ k ] ;
151
163
stepsHtml += getStep ( step ) ;
152
164
stepsNumber ++ ;
165
+ stepsNumberInFeature ++ ;
153
166
if ( step . result . status !== statuses . PASSED ) {
154
167
isPassed = false ;
155
168
} else if ( step . result . status === statuses . PASSED ) {
156
169
passedSteps ++ ;
170
+ passedStepsInFeature ++ ;
157
171
}
158
172
}
159
173
160
174
if ( isPassed ) {
161
175
passedScenarios ++ ;
176
+ passedScenariosNumberInFeature ++ ;
162
177
}
163
- html += '<div class="scenario-container">' + getScenario ( element , isPassed ) ;
164
- html += stepsHtml + '</div>' ;
178
+ scenariosHtml += '<div class="scenario-container">' + getScenario ( element , isPassed ) ;
179
+ scenariosHtml += stepsHtml + '</div>' ;
165
180
}
166
181
}
182
+ html += getFeature ( testResults [ i ] , scenariosNumberInFeature , passedScenariosNumberInFeature , stepsNumberInFeature , passedStepsInFeature ) ;
183
+ html += scenariosHtml ;
167
184
}
168
185
header = getHeader ( scenariosNumber , passedScenarios , stepsNumber , passedSteps ) ;
169
186
return header + html ;
0 commit comments