report_builder 0.0.9 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 439b62180acf73c92267c2a1a5e809bfd61c87dd
4
- data.tar.gz: 155460bace35f871495b0c706c24aa3958e1b7d2
3
+ metadata.gz: 7462223d91a07ad530b28508a61e2ba209c57941
4
+ data.tar.gz: 3cbc4727d0ebd816d1317796f5982bf11dcf2abc
5
5
  SHA512:
6
- metadata.gz: 13c615c0e3f1bf53c782509709719c5fe49abd62f40d9f7d2bee2ea626933f7d17a6349137877fe7d54623128e9082f559a68182347cc91f9a02b1aff0d3001b
7
- data.tar.gz: ea4684e09984b4e91bd954e2fac867902b67d5b752b59e706644687dac12565cf454aca84e13f0cbed88deaa9a6e08759ceb7b1f29394c133c657440ffc80a73
6
+ metadata.gz: 041ab958382106fb7376ff0b935004f3c6de93b36363c437d0daf7bf46aeeac19720f60a21542674705d3bb8996e5c8107f7ce846b734f4edca1fb6caca3b0a5
7
+ data.tar.gz: d68885802c905240b93527115ddec3b8ad448a485b5e9d21c3fea6aa0dce9943c0763333b4eb3b4e085dc57429138e7c97b5366a02b04b868b3e5af961bdecd6
data/README.md CHANGED
@@ -19,6 +19,16 @@ gem install report_builder
19
19
 
20
20
  **Note:** Works with cucumber(>= 2.1.0) test results in JSON format.
21
21
 
22
+ ### Config Options:
23
+
24
+ | Option | Type | Default | Values |
25
+ |--------|------|---------|--------|
26
+ | json_path | [String] / [Array] | (current directory) | json files path / array of json files or path |
27
+ | report_path | [String] | 'test_report' | output file path with file name without extension |
28
+ | report_types | [Array] | [:html] | :json, :html (output file types) |
29
+ | report_tabs | [Array] | [:overview, :features] | :overview, :features, :scenarios, :errors (tabs to build) |
30
+ | compress_images | [Boolean] | false | true / false (If true, the size of HTML report is reduced but takes more time to build report) |
31
+
22
32
  ### Code Examples:
23
33
 
24
34
  ```ruby
@@ -49,46 +59,24 @@ gem install report_builder
49
59
 
50
60
  ```
51
61
 
52
- ### Config Options:
53
-
54
- * json_path:
55
-
56
- Default: nil (current directory)
57
-
58
- [String] / [Array] Input json file, array of json files/path or json files path
59
-
60
- * report_path:
61
-
62
- Default: 'test_report'
63
-
64
- [String] Output file path with name
65
-
66
- * report_types:
67
-
68
- Default: [:html]
69
-
70
- [Array] Output file types to build, [:json, :html] or ['html', 'json']
71
-
72
- * report_tabs:
73
-
74
- Default: [:overview, :features, :errors]
75
-
76
- [Array] Tabs to build, [:overview, :features, :scenarios, :errors] or ['overview', 'features', 'scenarios', 'errors']
77
-
78
- * compress_images
79
-
80
- Default: false
81
-
82
- [Boolean] Set true to reducing the size of HTML report, Note: If true, takes more time to build report
83
-
62
+ ### CLI Options:
84
63
 
64
+ | Option | Values | Explanation |
65
+ |----------------|------------|----------------------------------------------------------|
66
+ | -s, --source | x,y,z | List of json path or files |
67
+ | -o, --out | [PATH]NAME | Report path with name without extension |
68
+ | -f, --format | x,y,z | List of report format - html,json |
69
+ | -t, --tabs | x,y,z | List of report tabs - overview,features,scenarios,errors |
70
+ | -c, --compress | | Reduce report size if embedding images |
71
+ | -h, --help | | Show available command line switches |
72
+ | -v, --version | | Show gem version |
85
73
 
86
- ### Command Example:
74
+ ### CLI Example:
87
75
 
88
76
  ```bash
89
77
  report_builder
90
- report_builder 'path/of/json/files/dir'
91
- report_builder 'path/of/json/files/dir' 'report_file'
78
+ report_builder -s 'path/of/json/files/dir'
79
+ report_builder -s 'path/of/json/files/dir' -o 'report_file'
92
80
  ```
93
81
 
94
82
  ### Rake Example:
@@ -102,17 +90,18 @@ Then run rake task report_builder
102
90
 
103
91
  ```bash
104
92
  rake report_builder
105
- rake report_builder ['path/of/json/files/dir']
106
- rake report_builder ['path/of/json/files/dir','report_file']
93
+ rake report_builder['path/of/json/files/dir']
94
+ rake report_builder['path/of/json/files/dir','report_file']
107
95
  ```
108
96
 
109
97
  ## Contributing
110
98
 
111
- We're open to any contribution. It has to be tested properly though.
99
+ We're open to any contribution. It has to be tested properly though.
112
100
 
113
101
  ## Maintainer
114
102
 
115
- [Rajat Thareja](http://www.rajatthareja.com)
103
+ * [Rajat Thareja](http://www.rajatthareja.com)
104
+ * [Justin Commu](https://github.com/tk8817)
116
105
 
117
106
  ## License
118
107
 
@@ -1,12 +1,47 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
+ require 'optparse'
3
4
  require 'report_builder'
4
5
 
5
- ARGV[1] ||= 'test_report'
6
- ARGV[2] ||= [:html]
7
- ARGV[3] ||= [:overview, :features, :errors]
8
- ARGV[4] ||= false
6
+ options = {:json_path => nil, :report_path => 'test_report', :report_types => [:html], :report_tabs => [:overview, :features], :compress_images => false}
9
7
 
10
- options = {:json_path => ARGV[0], :report_path => ARGV[1], :report_types => ARGV[2], :report_tabs => ARGV[3], :compress_images => ARGV[4]}
8
+ opt_parser = OptionParser.new do |opts|
9
+ opts.banner = "Usage: \n report_builder [options]"
10
+ opts.separator 'Configuration options:'
11
+
12
+ opts.on('-s','--source x,y,z', Array, 'List of json path or files') do |list|
13
+ options[:json_path] = list
14
+ end
15
+
16
+ opts.on('-o', '--out [PATH]NAME', String, 'Report path with name without extension') do |report_path|
17
+ options[:report_path] = report_path
18
+ end
19
+
20
+ opts.on('-f','--format x,y,z', Array, 'List of report format - html,json') do |list|
21
+ options[:report_types] = list
22
+ end
23
+
24
+ opts.on('-t','--tabs x,y,z', Array, 'List of report tabs - overview,features,scenarios,errors') do |list|
25
+ options[:report_tabs] = list
26
+ end
27
+
28
+ opts.on('-c', '--compress', 'Reduce report size if embedding images') do |compress|
29
+ options[:compress_images] = compress
30
+ end
31
+
32
+ opts.separator 'Common options:'
33
+
34
+ opts.on_tail('-h', '--help', 'Show help') do
35
+ puts opts
36
+ exit
37
+ end
38
+
39
+ opts.on_tail('-v','--version', 'Show version') do
40
+ puts 'ReportBuilder v' + Gem.loaded_specs['report_builder'].version.to_s rescue puts "Something want wrong. \nUse 'gem list report_builder'"
41
+ exit
42
+ end
43
+ end
44
+
45
+ opt_parser.parse!(ARGV)
11
46
 
12
47
  ReportBuilder.build_report options
@@ -1,6 +1,6 @@
1
1
  desc 'Rake task to build report'
2
2
  task :report_builder, [:json_path, :report_path, :report_types, :report_tabs, :compress_images] do |t, args|
3
- args.with_defaults(:json_path => nil, :report_path => 'test_report', :report_types => [:html], :report_tabs => [:overview, :features, :errors], :compress_images => false)
3
+ args.with_defaults(:json_path => nil, :report_path => 'test_report', :report_types => [:html], :report_tabs => [:overview, :features], :compress_images => false)
4
4
  options = {:json_path => args.json_path, :report_path => args.report_path, :report_types => args.report_types, :report_tabs => args.report_tabs, :compress_images => args.compress_images}
5
5
  ReportBuilder.build_report options
6
6
  end
@@ -54,14 +54,14 @@ class ReportBuilder
54
54
  #
55
55
  def self.configure
56
56
  default_options = OpenStruct.new(
57
- json_path: nil, # [String] / [Array] Input json file, array of json files/path or json files path, (Default current directory)
58
- report_path: 'test_report', # [String] Output file path with name
59
- report_types: [:html], # [Array] Output file types to build, [:json, :html] or ['html', 'json']
60
- report_tabs: [:overview, :features, :errors], # [Array] Tabs to build, [:overview, :features, :scenarios, :errors] or ['overview', 'features', 'scenarios', 'errors']
61
- compress_images: false # [Boolean] Set true to reducing the size of HTML report, Note: If true, takes more time to build report
57
+ json_path: nil, # [String] / [Array] Input json file, array of json files/path or json files path, (Default current directory)
58
+ report_path: 'test_report', # [String] Output file path with name
59
+ report_types: [:html], # [Array] Output file types to build, [:json, :html] or ['html', 'json']
60
+ report_tabs: [:overview, :features], # [Array] Tabs to build, [:overview, :features, :scenarios, :errors] or ['overview', 'features', 'scenarios', 'errors']
61
+ compress_images: false # [Boolean] Set true to reducing the size of HTML report, Note: If true, takes more time to build report
62
62
  )
63
63
  yield default_options if block_given?
64
- @options = default_options.to_h
64
+ @options = default_options.marshal_dump
65
65
  end
66
66
 
67
67
  #
@@ -161,9 +161,9 @@ class ReportBuilder
161
161
  build_menu @options[:report_tabs]
162
162
 
163
163
  @builder.div(:id => 'overviewTab') do
164
- @builder << "<div id='featurePieChart'></div>"
165
- @builder << "<div id='scenarioPieChart'></div>"
166
- @builder << "<div id='stepPieChart'></div>"
164
+ @builder << "<div id='featurePieChart' style=\"float:left;width:33%\"></div>"
165
+ @builder << "<div id='scenarioPieChart' style=\"display:inline-block;width:33%\"></div>"
166
+ @builder << "<div id='stepPieChart' style=\"float:right;width:33%\"></div>"
167
167
  end if @options[:report_tabs].include? 'overview'
168
168
 
169
169
  @builder.div(:id => 'featuresTab') do
@@ -483,6 +483,14 @@ class ReportBuilder
483
483
  }.values.each_with_object([]) { |group, features|
484
484
  features << group.first.except('elements').merge('elements' => group.map{|feature| feature['elements']}.flatten)
485
485
  }.each{|feature|
486
+ if feature['elements'][0]['type'] == 'background'
487
+ (0..feature['elements'].size-1).step(2) do |i|
488
+ feature['elements'][i]['steps'].each{|step| step['name']+=(' ('+feature['elements'][i]['keyword']+')')}
489
+ feature['elements'][i+1]['steps'] = feature['elements'][i]['steps'] + feature['elements'][i+1]['steps']
490
+ feature['elements'][i+1]['before'] = feature['elements'][i]['before'] if feature['elements'][i]['before']
491
+ end
492
+ feature['elements'].reject!{|element| element['type'] == 'background'}
493
+ end
486
494
  feature['elements'].each { |scenario|
487
495
  scenario['before'] ||= []
488
496
  scenario['before'].each { |before|
@@ -622,4 +630,4 @@ class ReportBuilder
622
630
  :build_error_list, :build_step_error,
623
631
  :build_hook_error, :build_step_hook_error,
624
632
  :build_unique_image, :build_image
625
- end
633
+ end
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: 0.0.9
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rajat Thareja
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-23 00:00:00.000000000 Z
11
+ date: 2016-03-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: builder
@@ -70,7 +70,7 @@ homepage: https://github.com/rajatthareja/ReportBuilder
70
70
  licenses:
71
71
  - MIT
72
72
  metadata: {}
73
- post_install_message: 'Thanks for installing! Note: Refactored please refer Documentation.'
73
+ post_install_message: Thanks for installing!
74
74
  rdoc_options: []
75
75
  require_paths:
76
76
  - lib
@@ -78,7 +78,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
78
78
  requirements:
79
79
  - - ">="
80
80
  - !ruby/object:Gem::Version
81
- version: '0'
81
+ version: 1.9.1
82
82
  required_rubygems_version: !ruby/object:Gem::Requirement
83
83
  requirements:
84
84
  - - ">="
@@ -87,7 +87,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
87
87
  requirements:
88
88
  - Cucumber >= 2.1.0 test results in JSON format
89
89
  rubyforge_project:
90
- rubygems_version: 2.4.6
90
+ rubygems_version: 2.5.1
91
91
  signing_key:
92
92
  specification_version: 4
93
93
  summary: ReportBuilder