ruby_raider 0.5.6 → 0.5.7

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.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/.github/FUNDING.yml +13 -0
  3. data/Rakefile +12 -0
  4. data/lib/desktop/base_screen.rb +5 -0
  5. data/lib/desktop/installation_screen.rb +137 -0
  6. data/lib/desktop/runner_screen.rb +123 -0
  7. data/lib/generators/automation/automation_examples_generator.rb +36 -0
  8. data/lib/generators/automation/automation_generator.rb +28 -0
  9. data/lib/generators/cucumber/cucumber_examples_generator.rb +17 -0
  10. data/lib/generators/cucumber/cucumber_generator.rb +13 -0
  11. data/lib/generators/generator.rb +2 -2
  12. data/lib/generators/invoke_generators.rb +47 -0
  13. data/lib/generators/menu_generator.rb +24 -27
  14. data/lib/generators/rspec/rspec_examples_generator.rb +17 -0
  15. data/lib/generators/rspec/rspec_generator.rb +9 -0
  16. data/lib/ruby_raider.rb +7 -0
  17. data/ruby_raider.gemspec +2 -1
  18. data/spec/automation_generator_spec.rb +71 -15
  19. data/spec/cucumber_generator_spec.rb +29 -1
  20. data/spec/rspec_generator_spec.rb +21 -1
  21. data/spec/spec_helper.rb +20 -5
  22. metadata +63 -41
  23. data/lib/generators/automation_generator.rb +0 -59
  24. data/lib/generators/cucumber_generator.rb +0 -25
  25. data/lib/generators/rspec_generator.rb +0 -21
  26. /data/lib/generators/{templates/automation → automation/templates}/abstract_component.tt +0 -0
  27. /data/lib/generators/{templates/automation → automation/templates}/abstract_page.tt +0 -0
  28. /data/lib/generators/{templates/automation → automation/templates}/app_page.tt +0 -0
  29. /data/lib/generators/{templates/automation → automation/templates}/appium_caps.tt +0 -0
  30. /data/lib/generators/{templates/automation → automation/templates}/component.tt +0 -0
  31. /data/lib/generators/{templates/automation → automation/templates}/home_page.tt +0 -0
  32. /data/lib/generators/{templates/automation → automation/templates}/login_page.tt +0 -0
  33. /data/lib/generators/{templates/automation → automation/templates}/partials/android_caps.tt +0 -0
  34. /data/lib/generators/{templates/automation → automation/templates}/partials/cross_platform_caps.tt +0 -0
  35. /data/lib/generators/{templates/automation → automation/templates}/partials/element.tt +0 -0
  36. /data/lib/generators/{templates/automation → automation/templates}/partials/home_page_selector.tt +0 -0
  37. /data/lib/generators/{templates/automation → automation/templates}/partials/initialize_selector.tt +0 -0
  38. /data/lib/generators/{templates/automation → automation/templates}/partials/ios_caps.tt +0 -0
  39. /data/lib/generators/{templates/automation → automation/templates}/partials/pdp_page_selector.tt +0 -0
  40. /data/lib/generators/{templates/automation → automation/templates}/partials/require_raider.tt +0 -0
  41. /data/lib/generators/{templates/automation → automation/templates}/partials/selenium_login.tt +0 -0
  42. /data/lib/generators/{templates/automation → automation/templates}/partials/url_methods.tt +0 -0
  43. /data/lib/generators/{templates/automation → automation/templates}/partials/visit_method.tt +0 -0
  44. /data/lib/generators/{templates/automation → automation/templates}/partials/visual_login.tt +0 -0
  45. /data/lib/generators/{templates/automation → automation/templates}/partials/watir_login.tt +0 -0
  46. /data/lib/generators/{templates/automation → automation/templates}/pdp_page.tt +0 -0
  47. /data/lib/generators/{templates/automation → automation/templates}/visual_options.tt +0 -0
  48. /data/lib/generators/{templates/cucumber → cucumber/templates}/env.tt +0 -0
  49. /data/lib/generators/{templates/cucumber → cucumber/templates}/feature.tt +0 -0
  50. /data/lib/generators/{templates/cucumber → cucumber/templates}/partials/appium_env.tt +0 -0
  51. /data/lib/generators/{templates/cucumber → cucumber/templates}/partials/driver_world.tt +0 -0
  52. /data/lib/generators/{templates/cucumber → cucumber/templates}/partials/mobile_steps.tt +0 -0
  53. /data/lib/generators/{templates/cucumber → cucumber/templates}/partials/selenium_appium_env.tt +0 -0
  54. /data/lib/generators/{templates/cucumber → cucumber/templates}/partials/watir_env.tt +0 -0
  55. /data/lib/generators/{templates/cucumber → cucumber/templates}/partials/watir_world.tt +0 -0
  56. /data/lib/generators/{templates/cucumber → cucumber/templates}/partials/web_steps.tt +0 -0
  57. /data/lib/generators/{templates/cucumber → cucumber/templates}/steps.tt +0 -0
  58. /data/lib/generators/{templates/cucumber → cucumber/templates}/world.tt +0 -0
  59. /data/lib/generators/{templates/rspec → rspec/templates}/base_spec.tt +0 -0
  60. /data/lib/generators/{templates/rspec → rspec/templates}/spec.tt +0 -0
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative '../lib/generators/automation_generator'
3
+ require_relative '../lib/generators/automation/automation_generator'
4
4
  require_relative 'spec_helper'
5
5
 
6
6
  describe AutomationGenerator do
7
- shared_examples 'creates web automation files' do |name|
7
+ shared_examples 'creates web automation framework with example files' do |name|
8
8
  it 'creates a login page file' do
9
9
  expect(File).to exist("#{name}/page_objects/pages/login_page.rb")
10
10
  end
@@ -22,7 +22,25 @@ describe AutomationGenerator do
22
22
  end
23
23
  end
24
24
 
25
- shared_examples 'creates mobile automation files' do |name|
25
+ shared_examples 'creates web automation framework without example files' do |name|
26
+ it 'creates an abstract page file' do
27
+ expect(File).to exist("#{name}/page_objects/abstract/abstract_page.rb")
28
+ end
29
+
30
+ it 'creates an abstract component file' do
31
+ expect(File).to exist("#{name}/page_objects/abstract/abstract_component.rb")
32
+ end
33
+
34
+ it 'creates a login page file' do
35
+ expect(File).not_to exist("#{name}/page_objects/pages/login_page.rb")
36
+ end
37
+
38
+ it 'creates a component file' do
39
+ expect(File).not_to exist("#{name}/page_objects/components/header_component.rb")
40
+ end
41
+ end
42
+
43
+ shared_examples 'creates mobile automation framework with example files' do |name|
26
44
  it 'creates a home page file' do
27
45
  expect(File).to exist("#{name}/page_objects/pages/home_page.rb")
28
46
  end
@@ -36,7 +54,21 @@ describe AutomationGenerator do
36
54
  end
37
55
  end
38
56
 
39
- shared_examples 'creates web visual automation files' do |name|
57
+ shared_examples 'creates mobile automation framework without example files' do |name|
58
+ it 'creates an abstract page file' do
59
+ expect(File).to exist("#{name}/page_objects/abstract/abstract_page.rb")
60
+ end
61
+
62
+ it 'creates a home page file' do
63
+ expect(File).not_to exist("#{name}/page_objects/pages/home_page.rb")
64
+ end
65
+
66
+ it 'creates a pdp page file' do
67
+ expect(File).not_to exist("#{name}/page_objects/pages/pdp_page.rb")
68
+ end
69
+ end
70
+
71
+ shared_examples 'creates web visual framework with example files' do |name|
40
72
  it 'creates a login page file' do
41
73
  expect(File).to exist("#{name}/page_objects/pages/login_page.rb")
42
74
  end
@@ -50,41 +82,65 @@ describe AutomationGenerator do
50
82
  end
51
83
  end
52
84
 
85
+ shared_examples 'creates web visual framework without example files' do |name|
86
+ it 'creates an abstract page file' do
87
+ expect(File).to exist("#{name}/page_objects/abstract/abstract_page.rb")
88
+ end
89
+ end
90
+
53
91
  context 'with rspec and selenium' do
54
- include_examples 'creates web automation files', "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES[2]}"
55
- include_examples 'creates web visual automation files', "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES[2]}_visual"
92
+ include_examples 'creates web automation framework with example files', "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES[2]}"
93
+ include_examples 'creates web automation framework without example files',
94
+ "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES[2]}_without_examples"
95
+ include_examples 'creates web visual framework with example files', "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES[2]}_visual"
56
96
  end
57
97
 
58
98
  context 'with rspec and watir' do
59
- include_examples 'creates web automation files', "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES[3]}"
60
- include_examples 'creates web visual automation files', "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES[3]}_visual"
99
+ include_examples 'creates web automation framework with example files', "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES[3]}"
100
+ include_examples 'creates web automation framework without example files',
101
+ "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES[3]}_without_examples"
102
+ include_examples 'creates web visual framework with example files', "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES[3]}_visual"
61
103
  end
62
104
 
63
105
  context 'with cucumber and selenium' do
64
- include_examples 'creates web automation files', "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES[2]}"
106
+ include_examples 'creates web automation framework with example files', "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES[2]}"
107
+ include_examples 'creates web automation framework without example files',
108
+ "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES[2]}_without_examples"
65
109
  end
66
110
 
67
111
  context 'with cucumber and watir' do
68
- include_examples 'creates web automation files', "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES[3]}"
112
+ include_examples 'creates web automation framework with example files', "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES[3]}"
113
+ include_examples 'creates web automation framework without example files',
114
+ "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES[3]}_without_examples"
69
115
  end
70
116
 
71
117
  context 'with rspec and appium android' do
72
- include_examples 'creates mobile automation files', "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES.first}"
118
+ include_examples 'creates mobile automation framework with example files', "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES.first}"
119
+ include_examples 'creates mobile automation framework without example files',
120
+ "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES.first}_without_examples"
73
121
  end
74
122
 
75
123
  context 'with rspec and appium ios' do
76
- include_examples 'creates mobile automation files', "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES[1]}"
124
+ include_examples 'creates mobile automation framework with example files', "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES[1]}"
125
+ include_examples 'creates mobile automation framework without example files',
126
+ "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES[1]}_without_examples"
77
127
  end
78
128
 
79
129
  context 'with cucumber and appium android' do
80
- include_examples 'creates mobile automation files', "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES.first}"
130
+ include_examples 'creates mobile automation framework with example files', "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES.first}"
131
+ include_examples 'creates mobile automation framework without example files',
132
+ "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES.first}_without_examples"
81
133
  end
82
134
 
83
135
  context 'with cucumber and appium ios' do
84
- include_examples 'creates mobile automation files', "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES[1]}"
136
+ include_examples 'creates mobile automation framework with example files', "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES[1]}"
137
+ include_examples 'creates mobile automation framework without example files',
138
+ "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES[1]}_without_examples"
85
139
  end
86
140
 
87
141
  context 'with cucumber and appium cross platform' do
88
- include_examples 'creates mobile automation files', "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES.last}"
142
+ include_examples 'creates mobile automation framework with example files', "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES.last}"
143
+ include_examples 'creates mobile automation framework without example files',
144
+ "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES.last}_without_examples"
89
145
  end
90
146
  end
@@ -1,9 +1,27 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative '../lib/generators/cucumber_generator'
3
+ require_relative '../lib/generators/cucumber/cucumber_generator'
4
4
  require_relative 'spec_helper'
5
5
 
6
6
  describe CucumberGenerator do
7
+ shared_examples 'creates cucumber files without examples' do |project_name, file_name|
8
+ it 'creates a feature file' do
9
+ expect(File).not_to exist("#{project_name}/features/#{file_name}.feature")
10
+ end
11
+
12
+ it 'creates a step definitions file' do
13
+ expect(File).not_to exist("#{project_name}/features/step_definitions/#{file_name}_steps.rb")
14
+ end
15
+
16
+ it 'creates an env file' do
17
+ expect(File).to exist("#{project_name}/features/support/env.rb")
18
+ end
19
+
20
+ it 'does not create a spec file' do
21
+ expect(File).not_to exist("#{project_name}/spec/home_spec.rb")
22
+ end
23
+ end
24
+
7
25
  shared_examples 'creates cucumber files' do |project_name, file_name|
8
26
  it 'creates a feature file' do
9
27
  expect(File).to exist("#{project_name}/features/#{file_name}.feature")
@@ -24,21 +42,31 @@ describe CucumberGenerator do
24
42
 
25
43
  context 'with cucumber and appium android' do
26
44
  include_examples 'creates cucumber files', "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES.first}", 'home'
45
+ include_examples 'creates cucumber files without examples',
46
+ "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES.first}_without_examples", 'home'
27
47
  end
28
48
 
29
49
  context 'with cucumber and appium ios' do
30
50
  include_examples 'creates cucumber files', "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES[1]}", 'home'
51
+ include_examples 'creates cucumber files without examples',
52
+ "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES[1]}_without_examples", 'home'
31
53
  end
32
54
 
33
55
  context 'with cucumber and appium cross platform' do
34
56
  include_examples 'creates cucumber files', "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES.last}", 'home'
57
+ include_examples 'creates cucumber files without examples',
58
+ "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES.last}_without_examples", 'home'
35
59
  end
36
60
 
37
61
  context 'with cucumber and selenium' do
38
62
  include_examples 'creates cucumber files', "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES[2]}", 'login'
63
+ include_examples 'creates cucumber files without examples',
64
+ "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES[2]}_without_examples", 'login'
39
65
  end
40
66
 
41
67
  context 'with cucumber and watir' do
42
68
  include_examples 'creates cucumber files', "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES[3]}", 'login'
69
+ include_examples 'creates cucumber files without examples',
70
+ "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES[3]}_without_examples", 'login'
43
71
  end
44
72
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative '../lib/generators/rspec_generator'
3
+ require_relative '../lib/generators/rspec/rspec_generator'
4
4
  require_relative 'spec_helper'
5
5
 
6
6
  describe RspecGenerator do
@@ -14,23 +14,43 @@ describe RspecGenerator do
14
14
  end
15
15
  end
16
16
 
17
+ shared_examples 'creates rspec files without examples' do |project_name, file_name|
18
+ it 'creates a spec file' do
19
+ expect(File).not_to exist("#{project_name}/spec/#{file_name}_page_spec.rb")
20
+ end
21
+
22
+ it 'creates the base spec file' do
23
+ expect(File).to exist("#{project_name}/spec/base_spec.rb")
24
+ end
25
+ end
26
+
17
27
  context 'with rspec and selenium' do
18
28
  include_examples 'creates rspec files', "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES[2]}", 'login'
29
+ include_examples 'creates rspec files without examples',
30
+ "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES[2]}_without_examples", 'login'
19
31
  end
20
32
 
21
33
  context 'with rspec and watir' do
22
34
  include_examples 'creates rspec files', "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES[3]}", 'login'
35
+ include_examples 'creates rspec files without examples',
36
+ "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES[3]}_without_examples", 'login'
23
37
  end
24
38
 
25
39
  context 'with rspec and appium android' do
26
40
  include_examples 'creates rspec files', "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES.first}", 'pdp'
41
+ include_examples 'creates rspec files without examples',
42
+ "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES.first}_without_examples", 'pdp'
27
43
  end
28
44
 
29
45
  context 'with rspec and appium ios' do
30
46
  include_examples 'creates rspec files', "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES[1]}", 'pdp'
47
+ include_examples 'creates rspec files without examples',
48
+ "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES[1]}_without_examples", 'pdp'
31
49
  end
32
50
 
33
51
  context 'with rspec and appium cross platform' do
34
52
  include_examples 'creates rspec files', "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES.last}", 'pdp'
53
+ include_examples 'creates rspec files without examples',
54
+ "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES.last}_without_examples", 'pdp'
35
55
  end
36
56
  end
data/spec/spec_helper.rb CHANGED
@@ -2,17 +2,30 @@
2
2
 
3
3
  require 'fileutils'
4
4
  require 'rspec'
5
- require_relative '../lib/generators/menu_generator'
5
+ require_relative '../lib/generators/invoke_generators'
6
6
 
7
7
  AUTOMATION_TYPES = %w[android ios selenium watir cross_platform].freeze
8
8
  FRAMEWORKS = %w[cucumber rspec].freeze
9
9
 
10
+ def create_settings(framework, automation, examples, visual)
11
+ {
12
+ automation: automation,
13
+ examples: examples,
14
+ framework: framework,
15
+ name: "#{framework}_#{automation}#{'_visual' if visual}#{'_without_examples' unless examples}",
16
+ visual: visual
17
+ }
18
+ end
19
+
10
20
  RSpec.configure do |config|
21
+ config.include(InvokeGenerators)
11
22
  config.before(:all) do
12
23
  FRAMEWORKS.each do |framework|
13
24
  AUTOMATION_TYPES.each do |automation|
14
- MenuGenerator.new("#{framework}_#{automation}").generate_framework(automation, framework, false)
15
- MenuGenerator.new("#{framework}_#{automation}_visual").generate_framework(automation, framework, true)
25
+ [true, false].product([true, false]) do |examples, visual|
26
+ settings = create_settings(framework, automation, examples, visual)
27
+ generate_framework(settings)
28
+ end
16
29
  end
17
30
  end
18
31
  end
@@ -20,8 +33,10 @@ RSpec.configure do |config|
20
33
  config.after(:all) do
21
34
  FRAMEWORKS.each do |framework|
22
35
  AUTOMATION_TYPES.each do |automation|
23
- FileUtils.rm_rf("#{framework}_#{automation}")
24
- FileUtils.rm_rf("#{framework}_#{automation}_visual")
36
+ [true, false].product([true, false]) do |examples, visual|
37
+ settings = create_settings(framework, automation, examples, visual)
38
+ FileUtils.rm_rf(settings[:name])
39
+ end
25
40
  end
26
41
  end
27
42
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_raider
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.6
4
+ version: 0.5.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Agustin Pequeno
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-03-19 00:00:00.000000000 Z
11
+ date: 2023-04-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dotenv
@@ -122,6 +122,20 @@ dependencies:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
124
  version: '2.7'
125
+ - !ruby/object:Gem::Dependency
126
+ name: glimmer-dsl-libui
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: 0.7.3
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: 0.7.3
125
139
  - !ruby/object:Gem::Dependency
126
140
  name: ruby-openai
127
141
  requirement: !ruby/object:Gem::Requirement
@@ -171,6 +185,7 @@ executables:
171
185
  extensions: []
172
186
  extra_rdoc_files: []
173
187
  files:
188
+ - ".github/FUNDING.yml"
174
189
  - ".github/ISSUE_TEMPLATE/bug_report.md"
175
190
  - ".github/ISSUE_TEMPLATE/feature_request.md"
176
191
  - ".github/workflows/reek.yml"
@@ -189,35 +204,55 @@ files:
189
204
  - lib/commands/open_ai_commands.rb
190
205
  - lib/commands/scaffolding_commands.rb
191
206
  - lib/commands/utility_commands.rb
192
- - lib/generators/automation_generator.rb
207
+ - lib/desktop/base_screen.rb
208
+ - lib/desktop/installation_screen.rb
209
+ - lib/desktop/runner_screen.rb
210
+ - lib/generators/automation/automation_examples_generator.rb
211
+ - lib/generators/automation/automation_generator.rb
212
+ - lib/generators/automation/templates/abstract_component.tt
213
+ - lib/generators/automation/templates/abstract_page.tt
214
+ - lib/generators/automation/templates/app_page.tt
215
+ - lib/generators/automation/templates/appium_caps.tt
216
+ - lib/generators/automation/templates/component.tt
217
+ - lib/generators/automation/templates/home_page.tt
218
+ - lib/generators/automation/templates/login_page.tt
219
+ - lib/generators/automation/templates/partials/android_caps.tt
220
+ - lib/generators/automation/templates/partials/cross_platform_caps.tt
221
+ - lib/generators/automation/templates/partials/element.tt
222
+ - lib/generators/automation/templates/partials/home_page_selector.tt
223
+ - lib/generators/automation/templates/partials/initialize_selector.tt
224
+ - lib/generators/automation/templates/partials/ios_caps.tt
225
+ - lib/generators/automation/templates/partials/pdp_page_selector.tt
226
+ - lib/generators/automation/templates/partials/require_raider.tt
227
+ - lib/generators/automation/templates/partials/selenium_login.tt
228
+ - lib/generators/automation/templates/partials/url_methods.tt
229
+ - lib/generators/automation/templates/partials/visit_method.tt
230
+ - lib/generators/automation/templates/partials/visual_login.tt
231
+ - lib/generators/automation/templates/partials/watir_login.tt
232
+ - lib/generators/automation/templates/pdp_page.tt
233
+ - lib/generators/automation/templates/visual_options.tt
193
234
  - lib/generators/common_generator.rb
194
- - lib/generators/cucumber_generator.rb
235
+ - lib/generators/cucumber/cucumber_examples_generator.rb
236
+ - lib/generators/cucumber/cucumber_generator.rb
237
+ - lib/generators/cucumber/templates/env.tt
238
+ - lib/generators/cucumber/templates/feature.tt
239
+ - lib/generators/cucumber/templates/partials/appium_env.tt
240
+ - lib/generators/cucumber/templates/partials/driver_world.tt
241
+ - lib/generators/cucumber/templates/partials/mobile_steps.tt
242
+ - lib/generators/cucumber/templates/partials/selenium_appium_env.tt
243
+ - lib/generators/cucumber/templates/partials/watir_env.tt
244
+ - lib/generators/cucumber/templates/partials/watir_world.tt
245
+ - lib/generators/cucumber/templates/partials/web_steps.tt
246
+ - lib/generators/cucumber/templates/steps.tt
247
+ - lib/generators/cucumber/templates/world.tt
195
248
  - lib/generators/generator.rb
196
249
  - lib/generators/helper_generator.rb
250
+ - lib/generators/invoke_generators.rb
197
251
  - lib/generators/menu_generator.rb
198
- - lib/generators/rspec_generator.rb
199
- - lib/generators/templates/automation/abstract_component.tt
200
- - lib/generators/templates/automation/abstract_page.tt
201
- - lib/generators/templates/automation/app_page.tt
202
- - lib/generators/templates/automation/appium_caps.tt
203
- - lib/generators/templates/automation/component.tt
204
- - lib/generators/templates/automation/home_page.tt
205
- - lib/generators/templates/automation/login_page.tt
206
- - lib/generators/templates/automation/partials/android_caps.tt
207
- - lib/generators/templates/automation/partials/cross_platform_caps.tt
208
- - lib/generators/templates/automation/partials/element.tt
209
- - lib/generators/templates/automation/partials/home_page_selector.tt
210
- - lib/generators/templates/automation/partials/initialize_selector.tt
211
- - lib/generators/templates/automation/partials/ios_caps.tt
212
- - lib/generators/templates/automation/partials/pdp_page_selector.tt
213
- - lib/generators/templates/automation/partials/require_raider.tt
214
- - lib/generators/templates/automation/partials/selenium_login.tt
215
- - lib/generators/templates/automation/partials/url_methods.tt
216
- - lib/generators/templates/automation/partials/visit_method.tt
217
- - lib/generators/templates/automation/partials/visual_login.tt
218
- - lib/generators/templates/automation/partials/watir_login.tt
219
- - lib/generators/templates/automation/pdp_page.tt
220
- - lib/generators/templates/automation/visual_options.tt
252
+ - lib/generators/rspec/rspec_examples_generator.rb
253
+ - lib/generators/rspec/rspec_generator.rb
254
+ - lib/generators/rspec/templates/base_spec.tt
255
+ - lib/generators/rspec/templates/spec.tt
221
256
  - lib/generators/templates/common/config.tt
222
257
  - lib/generators/templates/common/gemfile.tt
223
258
  - lib/generators/templates/common/partials/automation_gems.tt
@@ -225,17 +260,6 @@ files:
225
260
  - lib/generators/templates/common/partials/web_config.tt
226
261
  - lib/generators/templates/common/rakefile.tt
227
262
  - lib/generators/templates/common/read_me.tt
228
- - lib/generators/templates/cucumber/env.tt
229
- - lib/generators/templates/cucumber/feature.tt
230
- - lib/generators/templates/cucumber/partials/appium_env.tt
231
- - lib/generators/templates/cucumber/partials/driver_world.tt
232
- - lib/generators/templates/cucumber/partials/mobile_steps.tt
233
- - lib/generators/templates/cucumber/partials/selenium_appium_env.tt
234
- - lib/generators/templates/cucumber/partials/watir_env.tt
235
- - lib/generators/templates/cucumber/partials/watir_world.tt
236
- - lib/generators/templates/cucumber/partials/web_steps.tt
237
- - lib/generators/templates/cucumber/steps.tt
238
- - lib/generators/templates/cucumber/world.tt
239
263
  - lib/generators/templates/helpers/allure_helper.tt
240
264
  - lib/generators/templates/helpers/appium_helper.tt
241
265
  - lib/generators/templates/helpers/browser_helper.tt
@@ -252,8 +276,6 @@ files:
252
276
  - lib/generators/templates/helpers/spec_helper.tt
253
277
  - lib/generators/templates/helpers/visual_helper.tt
254
278
  - lib/generators/templates/helpers/visual_spec_helper.tt
255
- - lib/generators/templates/rspec/base_spec.tt
256
- - lib/generators/templates/rspec/spec.tt
257
279
  - lib/open_ai/open_ai.rb
258
280
  - lib/ruby_raider.rb
259
281
  - lib/scaffolding/scaffolding.rb
@@ -291,7 +313,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
291
313
  - !ruby/object:Gem::Version
292
314
  version: '0'
293
315
  requirements: []
294
- rubygems_version: 3.3.7
316
+ rubygems_version: 3.4.8
295
317
  signing_key:
296
318
  specification_version: 4
297
319
  summary: A gem to make setup and start of UI automation projects easier
@@ -1,59 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative 'generator'
4
-
5
- class AutomationGenerator < Generator
6
- def generate_login_page
7
- return unless (@_initializer.first & %w[android ios cross_platform]).empty?
8
-
9
- template('automation/login_page.tt', "#{name}/page_objects/pages/login_page.rb")
10
- end
11
-
12
- def generate_abstract_page
13
- template('automation/abstract_page.tt', "#{name}/page_objects/abstract/abstract_page.rb")
14
- end
15
-
16
- def generate_home_page
17
- return if (@_initializer.first & %w[android ios cross_platform]).empty?
18
-
19
- template('automation/home_page.tt', "#{name}/page_objects/pages/home_page.rb")
20
- end
21
-
22
- def generate_pdp_page
23
- return if (@_initializer.first & %w[android ios cross_platform]).empty?
24
-
25
- template('automation/pdp_page.tt', "#{name}/page_objects/pages/pdp_page.rb")
26
- end
27
-
28
- def generate_header_component
29
- return unless (@_initializer.first & %w[android ios cross_platform]).empty?
30
- return if @_initializer.first.last
31
-
32
- template('automation/component.tt', "#{name}/page_objects/components/header_component.rb")
33
- end
34
-
35
- def generate_abstract_component
36
- return unless (@_initializer.first & %w[android ios cross_platform]).empty?
37
- return if @_initializer.first.last
38
-
39
- template('automation/abstract_component.tt', "#{name}/page_objects/abstract/abstract_component.rb")
40
- end
41
-
42
- def generate_appium_settings
43
- return if (@_initializer.first & %w[android ios cross_platform]).empty?
44
-
45
- template('automation/appium_caps.tt', "#{name}/config/capabilities.yml")
46
- end
47
-
48
- def generate_app_page
49
- return unless @_initializer.first.last
50
-
51
- template('automation/app_page.tt', "#{name}/page_objects/pages/app_page.rb")
52
- end
53
-
54
- def generate_visual_options
55
- return unless @_initializer.first.last
56
-
57
- template('automation/visual_options.tt', "#{name}/config/options.yml")
58
- end
59
- end
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative 'generator'
4
-
5
- class CucumberGenerator < Generator
6
- def generate_feature
7
- template('cucumber/feature.tt', "#{name}/features/#{template_name}.feature")
8
- end
9
-
10
- def generate_steps
11
- template('cucumber/steps.tt', "#{name}/features/step_definitions/#{template_name}_steps.rb")
12
- end
13
-
14
- def generate_env_file
15
- template('cucumber/env.tt', "#{name}/features/support/env.rb")
16
- end
17
-
18
- def generate_world
19
- template('cucumber/world.tt', "#{name}/world.rb")
20
- end
21
-
22
- def template_name
23
- @template_name ||= (@_initializer.first & %w[android ios cross_platform]).empty? ? 'login' : 'home'
24
- end
25
- end
@@ -1,21 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative 'generator'
4
-
5
- class RspecGenerator < Generator
6
- def generate_login_spec
7
- return unless (@_initializer.first & %w[android ios cross_platform]).empty?
8
-
9
- template('rspec/spec.tt', "#{name}/spec/login_page_spec.rb")
10
- end
11
-
12
- def generate_pdp_spec
13
- return if (@_initializer.first & %w[android ios cross_platform]).empty?
14
-
15
- template('rspec/spec.tt', "#{name}/spec/pdp_page_spec.rb")
16
- end
17
-
18
- def generate_base_spec
19
- template('rspec/base_spec.tt', "#{name}/spec/base_spec.rb")
20
- end
21
- end