ruby_raider 0.5.6 → 0.5.7

Sign up to get free protection for your applications and to get access to all the features.
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