report_builder 1.3 → 1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,33 @@
1
+ <div class="row">
2
+ <div class="col m4 s12">
3
+ <canvas id="featuresDoughnut" width="400" height="400"></canvas>
4
+ <table id="metaDataFeatures" class="bordered">
5
+ <tbody></tbody>
6
+ </table>
7
+ </div>
8
+
9
+ <div class="col m4 s12">
10
+ <canvas id="scenariosDoughnut" width="400" height="400"></canvas>
11
+ <table id="metaDataScenarios" class="bordered">
12
+ <tbody></tbody>
13
+ </table>
14
+ </div>
15
+
16
+ <div class="col m4 s12">
17
+ <table id="metaData" class="bordered">
18
+ <tbody>
19
+ <tr><th>Total Time</th><td><%= duration(total_time(groups.map{|g| g['features']}.flatten)) %></td></tr>
20
+ <% options[:additional_info].each do |key, value| %>
21
+ <tr>
22
+ <th><%= key %></th>
23
+ <td><%= value %></td>
24
+ </tr>
25
+ <% end %>
26
+ </tbody>
27
+ </table>
28
+ </div>
29
+
30
+ <div class="col s12">
31
+ <canvas id="groupBarChart"></canvas>
32
+ </div>
33
+ </div>
@@ -0,0 +1,39 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <%= get('head').result(binding) %>
4
+ <body>
5
+ <%= get('header').result(binding) %>
6
+
7
+ <% errors = [] %>
8
+
9
+ <% groups.each_with_index do |group, g| %>
10
+ <% gid = "g#{g}" %>
11
+ <% features = group['features'] %>
12
+ <%= get('scenarios').result(binding) %>
13
+ <% end %>
14
+
15
+ <main class="brown lighten-5">
16
+ <div class="row">
17
+ <div id="overview" class="col s12 brown lighten-5">
18
+ <%= get('group_overview').result(binding) %>
19
+ </div>
20
+
21
+ <div id="features" class="col s12 brown lighten-5 white-text">
22
+ <%= get('group_features').result(binding) %>
23
+ </div>
24
+
25
+ <div id="summary" class="col s12 brown lighten-5">
26
+ <%= get('group_summary').result(binding) %>
27
+ </div>
28
+
29
+ <div id="errors" class="col s12 brown lighten-5">
30
+ <%= get('group_errors').result(binding) %>
31
+ </div>
32
+ </div>
33
+ </main>
34
+
35
+ <script type="text/javascript" src="https://cdn.rawgit.com/rajatthareja/ReportBuilder/v1.4/js/group.report.builder.min.js"></script>
36
+
37
+ <%= get('footer').result(binding) %>
38
+ </body>
39
+ </html>
@@ -0,0 +1,25 @@
1
+ <table id="summaryTable" class="bordered brown lighten-1 white-text" width="100%">
2
+ <thead>
3
+ <tr>
4
+ <th class="hide-on-small-only">Group</th>
5
+ <th class="hide-on-small-only">Feature</th>
6
+ <th>Scenario</th>
7
+ <th class="hide">Tags</th>
8
+ <th>Status</th>
9
+ <th class="hide-on-small-only">Error</th>
10
+ </tr>
11
+ </thead>
12
+ <tbody>
13
+ <% groups.each_with_index do |group, g| %>
14
+ <% group['features'].each_with_index do |feature, f| %>
15
+ <% feature['elements'].each_with_index do |scenario, s| %>
16
+ <% sid = "g#{g}f#{f}s#{s}" %>
17
+ <tr class="<%= scenario['status'] %>">
18
+ <td class="hide-on-small-only"><%= group['name'] %></td>
19
+ <%= get('summary_row').result(binding) %>
20
+ </tr>
21
+ <% end %>
22
+ <% end %>
23
+ <% end %>
24
+ </tbody>
25
+ </table>
@@ -0,0 +1,22 @@
1
+ <head>
2
+ <meta charset="utf-8">
3
+ <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
4
+
5
+ <title><%= options[:report_title] %></title>
6
+
7
+ <link rel="icon" href="http://reportbuilder.rajatthareja.com/rb.ico">
8
+ <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
9
+ <link href="https://cdn.datatables.net/1.10.16/css/jquery.dataTables.min.css" rel="stylesheet">
10
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.2/css/materialize.min.css" media="screen,projection"/>
11
+ <link href="https://cdn.rawgit.com/rajatthareja/ReportBuilder/v1.4/css/report.builder.min.css" rel="stylesheet">
12
+
13
+ <% if options[:additional_css] %>
14
+ <% if options[:additional_css] =~ /^http(|s):\/\/.*\.css$/ %>
15
+ <link rel="stylesheet" href="<%= options[:additional_css] %>" media="all"/>
16
+ <% else %>
17
+ <style type="text/css">
18
+ <%= options[:additional_css]%>
19
+ </style>
20
+ <% end %>
21
+ <% end %>
22
+ </head>
@@ -0,0 +1,29 @@
1
+ <script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
2
+ <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.2/js/materialize.min.js"></script>
3
+ <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.0/Chart.min.js"></script>
4
+ <script type="text/javascript" src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script>
5
+
6
+ <header class="brown lighten-5">
7
+ <div class="row brown lighten-1">
8
+ <div class="col m8 hide-on-small-only">
9
+ <h5 class="truncate white-text tooltipped" data-tooltip="<%= options[:report_title] %>"><%= options[:report_title] %></h5>
10
+ </div>
11
+
12
+ <div class="col m4 s12 brown lighten-1">
13
+ <ul class="tabs brown lighten-1">
14
+ <li class="tab col s3">
15
+ <a class="btn brown lighten-3 active blue-text waves-effect waves-light tooltipped" data-tooltip="Overview" href="#overview"><i class="material-icons">public</i></a>
16
+ </li>
17
+ <li class="tab col s3">
18
+ <a class="btn brown lighten-3 white-text waves-effect waves-light tooltipped" data-tooltip="Features" href="#features"><i class="material-icons">view_headline</i></a>
19
+ </li>
20
+ <li class="tab col s3">
21
+ <a class="btn brown lighten-3 white-text waves-effect waves-light tooltipped" data-tooltip="Summary" href="#summary"><i class="material-icons">view_comfy</i></a>
22
+ </li>
23
+ <li class="tab col s3">
24
+ <a class="btn brown lighten-3 white-text waves-effect waves-light tooltipped" data-tooltip="Errors" href="#errors"><i class="material-icons">bug_report</i></a>
25
+ </li>
26
+ </ul>
27
+ </div>
28
+ </div>
29
+ </header>
@@ -0,0 +1,28 @@
1
+ <% if hook['output'] %>
2
+ <% hook['output'].each do |output| %>
3
+ <pre><%= output %></pre>
4
+ <% end %>
5
+ <% end %>
6
+
7
+ <% if hook['result']['error_message'] %>
8
+ <% error = ERB::Util.html_escape hook['result']['error_message'] %>
9
+ <% scenario['error'] = error.split("\n").first %>
10
+ <% errors << scenario['error'] %>
11
+ <pre><%= error %></pre>
12
+ <% end %>
13
+
14
+ <% if hook['embeddings'] %>
15
+ <% hook['embeddings'].each do |embedding| %>
16
+ <% if embedding['mime_type'] =~ /^image\/(png|gif|jpg|jpeg)/ %>
17
+ <% if options[:include_images] %>
18
+ <img class="materialboxed" data-caption='<%= scenario['name'] %>' width="250" src="data:<%= embedding['mime_type'] %>;base64,<%= embedding['data'] %>">
19
+ <% end %>
20
+ <% elsif embedding['mime_type'] =~ /^text\/plain/ %>
21
+ <% if embedding['data'].include?('|||') %>
22
+ <% title, link = embedding['data'].split('|||') %><a href="<%= link %>"><%= title %></a>
23
+ <% else %>
24
+ <%= embedding['data'] %>
25
+ <% end %>
26
+ <% end %>
27
+ <% end %>
28
+ <% end %>
@@ -0,0 +1,29 @@
1
+ <div class="row">
2
+ <div class="col m4 s12">
3
+ <canvas id="featuresDoughnut" width="400" height="400"></canvas>
4
+ <table id="metaDataFeatures" class="bordered">
5
+ <tbody></tbody>
6
+ </table>
7
+ </div>
8
+
9
+ <div class="col m4 s12">
10
+ <canvas id="scenariosDoughnut" width="400" height="400"></canvas>
11
+ <table id="metaDataScenarios" class="bordered">
12
+ <tbody></tbody>
13
+ </table>
14
+ </div>
15
+
16
+ <div class="col m4 s12">
17
+ <table id="metaData" class="bordered">
18
+ <tbody>
19
+ <tr><th>Total Time</th><td><%= duration(total_time(features)) %></td></tr>
20
+ <% options[:additional_info].each do |key, value| %>
21
+ <tr>
22
+ <th><%= key %></th>
23
+ <td><%= value %></td>
24
+ </tr>
25
+ <% end %>
26
+ </tbody>
27
+ </table>
28
+ </div>
29
+ </div>
@@ -0,0 +1,37 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <%= get('head').result(binding) %>
4
+ <body>
5
+ <%= get('header').result(binding) %>
6
+
7
+ <% errors = [] %>
8
+
9
+ <% gid = 'g0' %>
10
+ <% features = groups.first['features'] %>
11
+
12
+ <%= get('scenarios').result(binding) %>
13
+
14
+ <main class="brown lighten-5">
15
+ <div class="row">
16
+
17
+ <div id="overview" class="col s12 brown lighten-5">
18
+ <%= get('overview').result(binding) %>
19
+ </div>
20
+
21
+ <div id="features" class="col s12 brown lighten-5 white-text">
22
+ <%= get('features').result(binding) %>
23
+ </div>
24
+
25
+ <div id="summary" class="col s12 brown lighten-5">
26
+ <%= get('summary').result(binding) %>
27
+ </div>
28
+
29
+ <div id="errors" class="col s12 brown lighten-5">
30
+ <%= get('errors').result(binding) %>
31
+ </div>
32
+ </div>
33
+ </main>
34
+
35
+ <%= get('footer').result(binding) %>
36
+ </body>
37
+ </html>
@@ -0,0 +1,35 @@
1
+ <div id="<%= sid %>" class="modal modal-fixed-footer">
2
+ <div class="modal-content">
3
+
4
+ <% if scenario['tags'] %>
5
+ <% scenario['tags'].each do |tag| %>
6
+ <div class="chip"><i class="material-icons rotate-45">label</i><%= tag['name'] %></div>
7
+ <% end %>
8
+ <% end %>
9
+
10
+ <h5><%= scenario['name'] %> (<%= duration(scenario['duration']) %>)</h5>
11
+ <%= feature['uri'] %>:<%= scenario['line'] %>
12
+
13
+ <% if scenario['before'] %>
14
+ <% scenario['before'].each do |hook| %>
15
+ <%= get('hook').result(binding) %>
16
+ <% end %>
17
+ <% end %>
18
+
19
+ <ul class="collection stepList">
20
+ <% scenario['steps'].each do |step| %>
21
+ <%= get('step').result(binding) %>
22
+ <% end %>
23
+ </ul>
24
+
25
+ <% if scenario['after'] %>
26
+ <% scenario['after'].each do |hook| %>
27
+ <%= get('hook').result(binding) %>
28
+ <% end %>
29
+ <% end %>
30
+ </div>
31
+
32
+ <div class="modal-footer">
33
+ <span class="modal-action modal-close waves-effect waves-green btn-flat"><i class="material-icons">close</i></span>
34
+ </div>
35
+ </div>
@@ -0,0 +1,14 @@
1
+ <% features.each_with_index do |feature, f| %>
2
+ <% feature['elements'].each_with_index do |scenario, s| %>
3
+ <% sid = "#{gid}f#{f}s#{s}" %>
4
+ <%= get('scenario').result(binding) %>
5
+ <% end %>
6
+ <% end %>
7
+
8
+ <script type="text/javascript">
9
+ $(document).ready(function () {
10
+ <%features.each_with_index do |feature, f|%><%(0..feature['elements'].size).each do |s|%>
11
+ $('#<%="#{gid}f#{f}s#{s}"%>').modal();
12
+ <%end%><%end%>
13
+ });
14
+ </script>
@@ -0,0 +1,28 @@
1
+ <li class="collection-item step <%= step['status'] %>">
2
+ <% if step['before'] %>
3
+ <% step['before'].each do |hook| %>
4
+ <%= get('hook').result(binding) %>
5
+ <% end %>
6
+ <% end %>
7
+
8
+ <b><%= step['keyword'] %></b> <%= step['name'] %> (<%= duration(step['duration']) %>)
9
+
10
+ <% if step['rows'] %>
11
+ <% step['rows'].each do |row| %>
12
+ <%= '<br/>| ' %>
13
+ <% row['cells'].each do |cell| %>
14
+ <%= cell + ' | ' %>
15
+ <% end %>
16
+ <% end %>
17
+ <% end %>
18
+
19
+ <%#step part as hook%>
20
+ <% hook = step %>
21
+ <%= get('hook').result(binding) %>
22
+
23
+ <% if step['after'] %>
24
+ <% step['after'].each do |hook| %>
25
+ <%= get('hook').result(binding) %>
26
+ <% end %>
27
+ <% end %>
28
+ </li>
@@ -0,0 +1,21 @@
1
+ <table id="summaryTable" class="bordered brown lighten-1 white-text" width="100%">
2
+ <thead>
3
+ <tr>
4
+ <th class="hide-on-small-only">Feature</th>
5
+ <th>Scenario</th>
6
+ <th class="hide">Tags</th>
7
+ <th>Status</th>
8
+ <th class="hide-on-small-only">Error</th>
9
+ </tr>
10
+ </thead>
11
+ <tbody>
12
+ <% features.each_with_index do |feature, f| %>
13
+ <% feature['elements'].each_with_index do |scenario, s| %>
14
+ <% sid = "#{gid}f#{f}s#{s}" %>
15
+ <tr class="<%= scenario['status'] %>">
16
+ <%= get('summary_row').result(binding) %>
17
+ </tr>
18
+ <% end %>
19
+ <% end %>
20
+ </tbody>
21
+ </table>
@@ -0,0 +1,25 @@
1
+ <td class="hide-on-small-only">
2
+ <%= feature['name'] %>
3
+ </td>
4
+
5
+ <td class="hoverable">
6
+ <a class="modal-trigger white-text" href="#<%= sid %>"><%= scenario['name'] %></a>
7
+ </td>
8
+
9
+ <td class="hide">
10
+ <% if scenario['tags'] %>
11
+ <% scenario['tags'].each do |tag| %>
12
+ <%= tag['name'] + '. ' %>
13
+ <% end %>
14
+ <% end %>
15
+ </td>
16
+
17
+ <td class="uppercase">
18
+ <%= scenario['status'] %>
19
+ </td>
20
+
21
+ <td class="hide-on-small-only">
22
+ <% if scenario['error'] %>
23
+ <%= scenario['error'] %>
24
+ <% end %>
25
+ </td>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: report_builder
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.3'
4
+ version: '1.4'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rajat Thareja
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-10-21 00:00:00.000000000 Z
11
+ date: 2017-10-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -52,7 +52,7 @@ dependencies:
52
52
  - - <
53
53
  - !ruby/object:Gem::Version
54
54
  version: '4.0'
55
- description: Ruby gem to merge Cucumber JSON reports and build mobile friendly HTML
55
+ description: Ruby gem to merge Cucumber JSON reports and build mobile-friendly HTML
56
56
  Test Report, JSON report and retry file.
57
57
  email: rajat.thareja.1990@gmail.com
58
58
  executables:
@@ -60,21 +60,35 @@ executables:
60
60
  extensions: []
61
61
  extra_rdoc_files: []
62
62
  files:
63
- - .gitignore
64
- - .travis.yml
65
63
  - CHANGELOG.md
66
- - Gemfile
67
64
  - LICENSE
68
65
  - README.md
69
- - Rakefile
70
66
  - bin/report_builder
71
- - lib/report_builder.rake
72
67
  - lib/report_builder.rb
73
68
  - lib/report_builder/builder.rb
74
69
  - lib/report_builder/core-ext/hash.rb
75
70
  - report_builder.gemspec
76
- - template/html_report.erb
77
- homepage: https://github.com/rajatthareja/ReportBuilder
71
+ - template/error.erb
72
+ - template/errors.erb
73
+ - template/feature.erb
74
+ - template/features.erb
75
+ - template/footer.erb
76
+ - template/group_errors.erb
77
+ - template/group_features.erb
78
+ - template/group_overview.erb
79
+ - template/group_report.erb
80
+ - template/group_summary.erb
81
+ - template/head.erb
82
+ - template/header.erb
83
+ - template/hook.erb
84
+ - template/overview.erb
85
+ - template/report.erb
86
+ - template/scenario.erb
87
+ - template/scenarios.erb
88
+ - template/step.erb
89
+ - template/summary.erb
90
+ - template/summary_row.erb
91
+ homepage: http://reportbuilder.rajatthareja.com
78
92
  licenses:
79
93
  - MIT
80
94
  metadata: {}