ruby_raider 0.1.8 → 0.1.9

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 (30) hide show
  1. checksums.yaml +4 -4
  2. data/lib/generators/files/automation_file_generator.rb +33 -10
  3. data/lib/generators/files/common_file_generator.rb +10 -6
  4. data/lib/generators/files/cucumber_file_generator.rb +4 -4
  5. data/lib/generators/files/helpers_file_generator.rb +17 -10
  6. data/lib/generators/files/rspec_file_generator.rb +8 -7
  7. data/lib/generators/menu_generator.rb +44 -29
  8. data/lib/generators/projects/cucumber_project_generator.rb +18 -10
  9. data/lib/generators/projects/project_generator.rb +14 -0
  10. data/lib/generators/projects/rspec_project_generator.rb +12 -8
  11. data/lib/generators/templates/automation/abstract_page_template.rb +66 -32
  12. data/lib/generators/templates/automation/appium_settings_template.rb +16 -0
  13. data/lib/generators/templates/automation/confirmation_page_template.rb +26 -0
  14. data/lib/generators/templates/automation/home_page_template.rb +26 -0
  15. data/lib/generators/templates/automation/login_page_template.rb +113 -0
  16. data/lib/generators/templates/common/gemfile_template.rb +41 -18
  17. data/lib/generators/templates/helpers/driver_helper_template.rb +37 -7
  18. data/lib/generators/templates/helpers/raider_helper_template.rb +15 -3
  19. data/lib/generators/templates/helpers/spec_helper_template.rb +46 -7
  20. data/lib/generators/templates/rspec/example_spec_template.rb +44 -21
  21. data/ruby_raider.gemspec +1 -1
  22. data/spec/automation_file_generator_spec.rb +52 -27
  23. data/spec/common_file_generator_spec.rb +1 -1
  24. data/spec/cucumber_file_generator_spec.rb +1 -1
  25. data/spec/cucumber_project_generator_spec.rb +1 -1
  26. data/spec/helpers_file_generator_spec.rb +2 -2
  27. data/spec/rspec_file_generator_spec.rb +1 -1
  28. data/spec/rspec_project_generator_spec.rb +53 -32
  29. metadata +6 -3
  30. data/lib/generators/templates/automation/page_template.rb +0 -51
@@ -1,48 +1,69 @@
1
1
  require_relative 'spec_helper'
2
2
 
3
3
  describe RubyRaider::RspecProjectGenerator do
4
- before(:all) do
5
- @name = 'Rspec'
6
- RubyRaider::RspecProjectGenerator.generate_rspec_project(@name, automation: 'selenium')
7
- end
4
+ context 'On a web project' do
5
+ before(:all) do
6
+ @name = 'Rspec'
7
+ RubyRaider::RspecProjectGenerator.generate_rspec_project('selenium', @name)
8
+ end
8
9
 
9
- it 'creates a project folder' do
10
- expect(Dir.exist?(@name)).to be_truthy
11
- end
10
+ it 'creates a project folder' do
11
+ expect(Dir.exist?(@name)).to be_truthy
12
+ end
12
13
 
13
- it 'creates a spec folder' do
14
- expect(Dir.exist?("#{@name}/spec")).to be_truthy
15
- end
14
+ it 'creates a spec folder' do
15
+ expect(Dir.exist?("#{@name}/spec")).to be_truthy
16
+ end
16
17
 
17
- it 'creates a page objects folder' do
18
- expect(Dir.exist?("#{@name}/page_objects")).to be_truthy
19
- end
18
+ it 'creates a page objects folder' do
19
+ expect(Dir.exist?("#{@name}/page_objects")).to be_truthy
20
+ end
20
21
 
21
- it 'creates an abstract page object folder' do
22
- expect(Dir.exist?("#{@name}/page_objects/abstract")).to be_truthy
23
- end
22
+ it 'creates an abstract page object folder' do
23
+ expect(Dir.exist?("#{@name}/page_objects/abstract")).to be_truthy
24
+ end
24
25
 
25
- it 'creates a pages folder' do
26
- expect(Dir.exist?("#{@name}/page_objects/pages")).to be_truthy
27
- end
26
+ it 'creates a pages folder' do
27
+ expect(Dir.exist?("#{@name}/page_objects/pages")).to be_truthy
28
+ end
28
29
 
29
- it 'creates a components folder' do
30
- expect(Dir.exist?("#{@name}/page_objects/components")).to be_truthy
31
- end
30
+ it 'creates a components folder' do
31
+ expect(Dir.exist?("#{@name}/page_objects/components")).to be_truthy
32
+ end
32
33
 
33
- it 'creates a helper folder' do
34
- expect(Dir.exist?("#{@name}/helpers")).to be_truthy
35
- end
34
+ it 'creates a helper folder' do
35
+ expect(Dir.exist?("#{@name}/helpers")).to be_truthy
36
+ end
36
37
 
37
- it 'creates a data folder' do
38
- expect(Dir.exist?("#{@name}/data")).to be_truthy
39
- end
38
+ it 'creates a data folder' do
39
+ expect(Dir.exist?("#{@name}/data")).to be_truthy
40
+ end
41
+
42
+ it 'creates a config folder' do
43
+ expect(Dir.exist?("#{@name}/config")).to be_truthy
44
+ end
40
45
 
41
- it 'creates a config folder' do
42
- expect(Dir.exist?("#{@name}/config")).to be_truthy
46
+ after(:all) do
47
+ FileUtils.rm_rf(@name)
48
+ end
43
49
  end
44
50
 
45
- after(:all) do
46
- FileUtils.rm_rf(@name)
51
+ context 'On a mobile project' do
52
+ before(:all) do
53
+ @name = 'appium-ios-1'
54
+ RubyRaider::RspecProjectGenerator.generate_rspec_project('appium_ios', @name)
55
+ end
56
+
57
+ it "doesn't creates a config folder" do
58
+ expect(Dir.exist?("#{@name}/config")).to be_falsey
59
+ end
60
+
61
+ it "doesn't creates a components folder" do
62
+ expect(Dir.exist?("#{@name}/page_objects/components")).to be_falsey
63
+ end
64
+
65
+ after(:all) do
66
+ FileUtils.rm_rf(@name)
67
+ end
47
68
  end
48
69
  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.1.8
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Agustin Pequeno
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-09 00:00:00.000000000 Z
11
+ date: 2022-04-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -77,8 +77,11 @@ files:
77
77
  - lib/generators/projects/rspec_project_generator.rb
78
78
  - lib/generators/templates/automation/abstract_component_template.rb
79
79
  - lib/generators/templates/automation/abstract_page_template.rb
80
+ - lib/generators/templates/automation/appium_settings_template.rb
80
81
  - lib/generators/templates/automation/component_template.rb
81
- - lib/generators/templates/automation/page_template.rb
82
+ - lib/generators/templates/automation/confirmation_page_template.rb
83
+ - lib/generators/templates/automation/home_page_template.rb
84
+ - lib/generators/templates/automation/login_page_template.rb
82
85
  - lib/generators/templates/common/config_template.rb
83
86
  - lib/generators/templates/common/gemfile_template.rb
84
87
  - lib/generators/templates/common/rake_file_template.rb
@@ -1,51 +0,0 @@
1
- require_relative '../template'
2
-
3
- class PageTemplate < Template
4
- def body
5
- element = @automation == 'watir' ? 'browser.element' : 'driver.find_element'
6
- helper = @automation == 'watir' ? 'Raider::WatirHelper' : 'Raider::SeleniumHelper'
7
-
8
- <<~EOF
9
- require_relative '../abstract/abstract_page'
10
- require_relative '../components/header_component'
11
-
12
- class LoginPage < AbstractPage
13
- using #{helper}
14
-
15
- def url(_page)
16
- 'index.php?rt=account/login'
17
- end
18
-
19
- # Actions
20
-
21
- def login(username, password)
22
- username_field.send_keys username
23
- password_field.send_keys password
24
- login_button.click_when_present
25
- end
26
-
27
- # Components
28
-
29
- def header
30
- HeaderComponent.new(#{element}(class: 'menu_text'))
31
- end
32
-
33
- private
34
-
35
- # Elements
36
-
37
- def username_field
38
- #{element}(id: 'loginFrm_loginname')
39
- end
40
-
41
- def password_field
42
- #{element}(id: 'loginFrm_password')
43
- end
44
-
45
- def login_button
46
- #{element}(xpath: "//button[@title='Login']")
47
- end
48
- end
49
- EOF
50
- end
51
- end