ruby_raider 0.1.8 → 0.1.9

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