report_builder_fix 0.3 → 0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -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="<%= options[:color] %> lighten-5">
7
+ <div class="row <%= options[:color] %> lighten-1">
8
+ <div class="col m6 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 m6 s12 <%= options[:color] %> lighten-1">
13
+ <ul class="tabs <%= options[:color] %> lighten-1 row" style="overflow-x: hidden">
14
+ <li class="tab col s3">
15
+ <a class="<%= options[:color] %> lighten-3 active blue-text waves-effect waves-light tooltipped" data-tooltip="Results Overview" href="#overview"><i class="material-icons">assessment</i> Overview</a>
16
+ </li>
17
+ <li class="tab col s3">
18
+ <a class="<%= options[:color] %> lighten-3 white-text waves-effect waves-light tooltipped" data-tooltip="Scenarios by Features" href="#features"><i class="material-icons">view_headline</i> Features</a>
19
+ </li>
20
+ <li class="tab col s3">
21
+ <a class="<%= options[:color] %> lighten-3 white-text waves-effect waves-light tooltipped" data-tooltip="Scenarios Summary Table" href="#summary"><i class="material-icons">view_comfy</i> Summary</a>
22
+ </li>
23
+ <li class="tab col s3">
24
+ <a class="<%= options[:color] %> lighten-3 white-text waves-effect waves-light tooltipped" data-tooltip="Failed Scenarios" href="#errors"><i class="material-icons">bug_report</i> Errors</a>
25
+ </li>
26
+ </ul>
27
+ </div>
28
+ </div>
29
+ </header>
data/template/hook.erb ADDED
@@ -0,0 +1,31 @@
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
+ <br>
17
+ <% if embedding['mime_type'] =~ /^image\/(png|gif|jpg|jpeg)/ %>
18
+ <% if options[:include_images] %>
19
+ <img class="materialboxed" data-caption='<%= scenario['name'] %>' width="250" src="data:<%= embedding['mime_type'] %>;base64,<%= embedding['data'] %>">
20
+ <% end %>
21
+ <% elsif embedding['mime_type'] =~ /^text\/plain/ %>
22
+ <% if embedding['data'].include?('|||') %>
23
+ <% title, link = embedding['data'].split('|||') %><a href="<%= link %>"><%= title %></a>
24
+ <% else %>
25
+ <a href="<%= embedding['data'] %>"><%= embedding['data'] %></a>
26
+ <% end %>
27
+ <% elsif embedding['mime_type'] =~ /^text\/html/ %>
28
+ <%= embedding['data'] %>
29
+ <% end %>
30
+ <% end %>
31
+ <% 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="<%= options[:color] %> lighten-5">
15
+ <div class="row">
16
+
17
+ <div id="overview" class="col s12 <%= options[:color] %> lighten-5">
18
+ <%= get('overview').result(binding) %>
19
+ </div>
20
+
21
+ <div id="features" class="col s12 <%= options[:color] %> lighten-5 white-text">
22
+ <%= get('features').result(binding) %>
23
+ </div>
24
+
25
+ <div id="summary" class="col s12 <%= options[:color] %> lighten-5">
26
+ <%= get('summary').result(binding) %>
27
+ </div>
28
+
29
+ <div id="errors" class="col s12 <%= options[:color] %> 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>
data/template/step.erb ADDED
@@ -0,0 +1,32 @@
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['doc_string'] %>
11
+ <%= '<br/><pre>' + ERB::Util.html_escape(step['doc_string']['value']) + '</pre>' %>
12
+ <% end %>
13
+
14
+ <% if step['rows'] %>
15
+ <% step['rows'].each do |row| %>
16
+ <%= '<br/>| ' %>
17
+ <% row['cells'].each do |cell| %>
18
+ <%= cell + ' | ' %>
19
+ <% end %>
20
+ <% end %>
21
+ <% end %>
22
+
23
+ <%#step part as hook%>
24
+ <% hook = step %>
25
+ <%= get('hook').result(binding) %>
26
+
27
+ <% if step['after'] %>
28
+ <% step['after'].each do |hook| %>
29
+ <%= get('hook').result(binding) %>
30
+ <% end %>
31
+ <% end %>
32
+ </li>
@@ -0,0 +1,27 @@
1
+ <table id="summaryTable" class="bordered <%= options[:color] %> 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
+
9
+
10
+ <% if options[:tag_filter] %>
11
+ <th class="hide-on-small-only">Filtered Tags</th>
12
+ <% end %>
13
+
14
+ <th class="hide-on-small-only">Error</th>
15
+ </tr>
16
+ </thead>
17
+ <tbody>
18
+ <% features.each_with_index do |feature, f| %>
19
+ <% feature['elements'].each_with_index do |scenario, s| %>
20
+ <% sid = "#{gid}f#{f}s#{s}" %>
21
+ <tr class="<%= scenario['status'] %>">
22
+ <%= get('summary_row').result(binding) %>
23
+ </tr>
24
+ <% end %>
25
+ <% end %>
26
+ </tbody>
27
+ </table>
@@ -0,0 +1,35 @@
1
+ <td class="hide-on-small-only">
2
+ <%= feature['name'] %>
3
+ </td>
4
+
5
+ <td class="hoverable modal-trigger white-text" data-target="<%= sid %>">
6
+ <%= scenario['name'] %>
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
+ <% if options[:tag_filter] %>
22
+ <td class="hide-on-small-only">
23
+ <% scenario['tags'].each do |tag| %>
24
+ <% if tag['name'].match(/#{options[:tag_filter]}/) %>
25
+ <%= tag['name'] %>
26
+ <% end %>
27
+ <% end %>
28
+ </td>
29
+ <% end %>
30
+
31
+ <td class="hide-on-small-only">
32
+ <% if scenario['error'] %>
33
+ <%= scenario['error'] %>
34
+ <% end %>
35
+ </td>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: report_builder_fix
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.3'
4
+ version: '0.4'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fikri Ramadhan
@@ -14,30 +14,22 @@ dependencies:
14
14
  name: json
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: 2.3.0
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
20
  - - ">="
25
21
  - !ruby/object:Gem::Version
26
22
  version: 2.3.0
27
- - !ruby/object:Gem::Dependency
28
- name: report_builder
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: 1.9.0
34
23
  type: :runtime
35
24
  prerelease: false
36
25
  version_requirements: !ruby/object:Gem::Requirement
37
26
  requirements:
38
27
  - - "~>"
39
28
  - !ruby/object:Gem::Version
40
- version: 1.9.0
29
+ version: 2.3.0
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 2.3.0
41
33
  description: Fix Report Builder.
42
34
  email: fire_a2003@yahoo.com
43
35
  executables:
@@ -49,8 +41,31 @@ files:
49
41
  - bin/report_builder
50
42
  - bin/report_builder_fix
51
43
  - lib/.DS_Store
44
+ - lib/report_builder.rb
45
+ - lib/report_builder/builder.rb
46
+ - lib/report_builder/core-ext/hash.rb
52
47
  - lib/report_builder_fix.rb
53
48
  - lib/report_builder_fix/builder.rb
49
+ - template/error.erb
50
+ - template/errors.erb
51
+ - template/feature.erb
52
+ - template/features.erb
53
+ - template/footer.erb
54
+ - template/group_errors.erb
55
+ - template/group_features.erb
56
+ - template/group_overview.erb
57
+ - template/group_report.erb
58
+ - template/group_summary.erb
59
+ - template/head.erb
60
+ - template/header.erb
61
+ - template/hook.erb
62
+ - template/overview.erb
63
+ - template/report.erb
64
+ - template/scenario.erb
65
+ - template/scenarios.erb
66
+ - template/step.erb
67
+ - template/summary.erb
68
+ - template/summary_row.erb
54
69
  homepage: https://github.com/boseagr/ReportBuilder
55
70
  licenses:
56
71
  - MIT