<% _.each(scenarios, function(scenario, scenarioIndex) { %>
<div class="col-md-12 col-sm-12 col-xs-12">
<div class="x_panel" style="height: auto;">
<div class="x_title">
<div class="tags">
<% if (scenario.tags) { %>
<% var amount = scenario.tags.length; %>
<% if (amount > 0 ){ %>
<i class="fa fa-tag<% if(amount > 1 ) {%>s<% } %> fa-lg"></i>
<% _.each(scenario.tags, (tag) => {%>
<span class="tag"><%= tag.name %></span>
<%}); %>
<% } %>
<% } %>
</div>
<h2><%= scenario.keyword %>: <small><%= scenario.name %></small></h2>
<ul class="nav navbar-right panel_toolbox">
<li>
<a class="collapse-link"><i class="fa fa-chevron-down"></i></a>
</li>
<% if (scenario.ambiguous) { %>
<li>
<span class="step ambiguous-background" data-toggle="tooltip" data-placement="top" title="Scenario has double step implementation and failed because of that.">
<%= scenario.ambiguous %>
</span>
</li>
<% } %>
<% if (scenario.pending) { %>
<li>
<span class="step pending-background" data-toggle="tooltip" title="Scenario is pending"><%= scenario.pending %></span>
</li>
<% } %>
<% if (scenario.skipped) { %>
<li>
<span class="step skipped-background" data-toggle="tooltip" title="Scenario is skipped"><%= scenario.skipped %></span>
</li>
<% } %>
<% if (scenario.failed) { %>
<li>
<span class="step failed-background" data-toggle="tooltip" title="Scenario failed"><%= scenario.failed %></span>
</li>
<% } %>
<% if (scenario.passed) { %>
<li>
<span class="step passed-background" data-toggle="tooltip" title="Scenario passed"><%= scenario.passed %></span>
</li>
<% } %>
<% if (scenario.notDefined) { %>
<li>
<span class="step not-defined-background" data-toggle="tooltip" title="Scenario has nop step implementation."><%= scenario.notDefined %></span>
</li>
<% } %>
<% if (suite.displayDuration) { %>
<li>
<span style="font-size:1.2em"> Duration:</span>
<span style=padding-right:5em><%= scenario.time %></span>
</li>
<% } %>
</ul>
<div class="clearfix"></div>
</div>
<div class="x_content" style="display: none;">
<div class="scenario-step-container"><%= scenario.description %></div>
<% _.each(scenario.steps, function(step, stepIndex) { %>
<% if(!step.hidden || step.image || step.text || step.html || step.attachment) { %>
<div class="scenario-step-container">
<% if(step.result) { %>
<% if(step.result.status.toLowerCase() === 'passed') { %>
<div class="label" title="Success">
<i class="fa fa-check-circle fa-2x passed-color" data-toggle="tooltip" data-placement="top" title="Step passed"></i>
</div>
<% } else if(step.result.status.toLowerCase() === 'failed') { %>
<div class="label" data-toggle="tooltip" data-placement="top" title="Step failed">
<i class="fa fa-exclamation-circle fa-2x failed-color"></i>
</div>
<% } else if(step.result.status.toLowerCase() === 'skipped') { %>
<div class="label" data-toggle="tooltip" data-placement="top" title="Step is skipped">
<i class="fa fa-arrow-circle-right fa-2x skipped-color"></i>
</div>
<% } else if(step.result.status.toLowerCase() === 'pending') { %>
<div class="label" data-toggle="tooltip" data-placement="top" title="Step is pending">
<i class="fa fa-minus-circle fa-2x pending-color"></i>
</div>
<% } else if(step.result.status.toLowerCase() === 'ambiguous') { %>
<div class="label" data-toggle="tooltip" data-placement="top" title="Step has double step implementation and failed because of that.">
<i class="fa fa-flash fa-2x ambiguous-color"></i>
</div>
<% } else { %>
<div class="label" data-toggle="tooltip" data-placement="top" title="Step has no implementation.">
<i class="fa fa-question-circle fa-2x not-defined-color"></i>
</div>
<% } %>
<% } %>
<div class="text">
<span class="keyword highlight"><%= step.keyword %></span>
<% if(step.name) { %>
<%= step.name.replace(/</g, '<').replace(/>/g, '>') %>
<% if(step.restWireData) { %>
<button type="button" class="btn btn-success btn-sm" data-toggle="collapse" data-target="#<%= step.id%>">REST Query</button>
<div id="<%= step.id%>" class="collapse">
<div class="panel panel-default">
<div class="panel-body">
<pre><%= step.restWireData %></pre>
</div>
</div>
</div>
<% } %>
<% } %>
<% if(suite.displayDuration) { %>
<% if (step.time) { %>
<span class="duration"><%= step.time %></span>
<% } else { %>
<span class="duration">0s</span>
<% } %>
<% } %>
</div>
<% if(step.result) { %>
<% if(step.result.status === 'undefined') { %>
<pre class="info">
// With Callbacks
<%=step.keyword%>(/^<%= step.name.replace(/"[^"]*"/g, '"\(\[\^\"\]\*\)"') %>$/, (<% for (var i=1; i<(step.name.split('"').length / 2); i++) { %>arg<%= i %>, <% } %>callback) => {
// Write code here that turns the phrase above into concrete actions
callback(null, 'pending');
});
// With Promises
<%=step.keyword%>(/^<%= step.name.replace(/"[^"]*"/g, '"\(\[\^\"\]\*\)"') %>$/, (<% for (var i=1; i<(step.name.split('"').length / 2); i++) { %>arg<%= i %>, <% } %>) => {
// Write code here that turns the phrase above into concrete actions
return Promise.resolve('pending');
});
</pre>
<% } %>
<% if (step.result.error_message) { %>
<a href="#error<%= scenarioIndex %>-<%= stepIndex %>-error" data-toggle="collapse">+ Show Error</a>
<% } %>
<% if (step.json) { %>
<a href="#info<%= scenarioIndex %>-<%= stepIndex %>-json" data-toggle="collapse">+ Show Info</a>
<% } %>
<% if (step.text) { %>
<a href="#info<%= scenarioIndex %>-<%= stepIndex %>-text" data-toggle="collapse">+ Show Info</a>
<% } %>
<% if (step.html) { %>
<a href="#info<%= scenarioIndex %>-<%= stepIndex %>-html" data-toggle="collapse">+ Show Info</a>
<% } %>
<% if (step.image) { %>
<a href="#info<%= scenarioIndex %>-<%= stepIndex %>-image" data-toggle="collapse">+ Screenshot</a>
<% } %>
<% if (!_.isEmpty(step.attachments)) { %>
<span>[</span>
<% _.each(step.attachments, function(attachment, attachmentIndex) { %>
<a href="#info<%= scenarioIndex %>-<%= stepIndex %>-attachment<%= attachmentIndex %>" data-toggle="collapse">Attachment</a>
<% if ( attachmentIndex < ( _.size(step.attachments) - 1 ) ) { %>
<span>,</span>
<% } %>
<% }); %>
<span>]</span>
<% } %>
<% } %>
</div>
<% if(step.result) { %>
<% if (step.result.error_message) { %>
<div id="error<%= scenarioIndex %>-<%= stepIndex %>-error" class="scenario-step-collapse collapse">
<pre class=info><%= step.result.error_message.replace(/</g, '(').replace(/>/g, ')') %></pre>
</div>
<% } %>
<% if (step.json) { %>
<div id="info<%= scenarioIndex %>-<%= stepIndex %>-json" class="scenario-step-collapse collapse">
<pre class=info><% try { %><%= JSON.stringify(step.json, undefined, 2) %><% } catch (error) { %><%= step.json %><% } %></pre>
</div>
<% } %>
<% if (step.text) { %>
<div id="info<%= scenarioIndex %>-<%= stepIndex %>-text" class="scenario-step-collapse collapse">
<pre class=info><%= step.text.join('<br>') %></pre>
</div>
<% } %>
<% if (step.html) { %>
<div id="info<%= scenarioIndex %>-<%= stepIndex %>-html" class="scenario-step-collapse collapse">
<div class=info><%= step.html.join('<br/>') %></div>
</div>
<% } %>
<% if (step.image) { %>
<div id="info<%= scenarioIndex %>-<%= stepIndex %>-image" class="scenario-step-collapse collapse">
<% for( var i = 0; i < step.image.length; i++ ) { %>
<img class="screenshot" src="<%= step.image[i] %>"/>
<% } %>
</div>
<% } %>
<% if (!_.isEmpty(step.attachments)) { %>
<% _.each(step.attachments, function(attachment, attachmentIndex) { %>
<div id="info<%= scenarioIndex %>-<%= stepIndex %>-attachment<%= attachmentIndex %>" class="scenario-step-collapse collapse">
<object class="attachment-object" type="<%= attachment.type %>" id="my_attachments_<%= attachmentIndex %>" data="<%= attachment.data %>"></object>
</div>
<% }); %>
<% } %>
<% } %>
<% if(step.arguments) { %>
<% for( var i = 0; i < step.arguments.length; i++ ) { %>
<div class="scenario-scroll-bar">
<% if(step.arguments[i]["rows"]) { %>
<table class="table arguments">
<% var rows = step.arguments[i]["rows"]; %>
<tr>
<% var cells = rows[0]["cells"]; %>
<% for( var k = 0; k < cells.length; k++ ) { %>
<th><%= cells[k] %></th>
<% } %>
</tr>
<% for( var j = 1; j < rows.length; j++ ) { %>
<tr>
<% var cells = rows[j]["cells"]; %>
<% for( var k = 0; k < cells.length; k++ ) { %>
<td><%= cells[k] %></td>
<% } %>
</tr>
<% } %>
</table>
<% } %>
</div>
<% if(step.arguments[i]["content"]) { %>
<pre class="info"><%= step.arguments[i]["content"].replace(/</g, '(').replace(/>/g, ')') %></pre>
<% } %>
<% } %>
<% } %>
<% } %>
<% }); %>
</div>
</div>
</div>
<% }); %>