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.
- checksums.yaml +4 -4
- data/lib/generators/files/automation_file_generator.rb +33 -10
- data/lib/generators/files/common_file_generator.rb +10 -6
- data/lib/generators/files/cucumber_file_generator.rb +4 -4
- data/lib/generators/files/helpers_file_generator.rb +17 -10
- data/lib/generators/files/rspec_file_generator.rb +8 -7
- data/lib/generators/menu_generator.rb +44 -29
- data/lib/generators/projects/cucumber_project_generator.rb +18 -10
- data/lib/generators/projects/project_generator.rb +14 -0
- data/lib/generators/projects/rspec_project_generator.rb +12 -8
- data/lib/generators/templates/automation/abstract_page_template.rb +66 -32
- data/lib/generators/templates/automation/appium_settings_template.rb +16 -0
- data/lib/generators/templates/automation/confirmation_page_template.rb +26 -0
- data/lib/generators/templates/automation/home_page_template.rb +26 -0
- data/lib/generators/templates/automation/login_page_template.rb +113 -0
- data/lib/generators/templates/common/gemfile_template.rb +41 -18
- data/lib/generators/templates/helpers/driver_helper_template.rb +37 -7
- data/lib/generators/templates/helpers/raider_helper_template.rb +15 -3
- data/lib/generators/templates/helpers/spec_helper_template.rb +46 -7
- data/lib/generators/templates/rspec/example_spec_template.rb +44 -21
- data/ruby_raider.gemspec +1 -1
- data/spec/automation_file_generator_spec.rb +52 -27
- data/spec/common_file_generator_spec.rb +1 -1
- data/spec/cucumber_file_generator_spec.rb +1 -1
- data/spec/cucumber_project_generator_spec.rb +1 -1
- data/spec/helpers_file_generator_spec.rb +2 -2
- data/spec/rspec_file_generator_spec.rb +1 -1
- data/spec/rspec_project_generator_spec.rb +53 -32
- metadata +6 -3
- 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
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
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
|
-
|
10
|
-
|
11
|
-
|
10
|
+
it 'creates a project folder' do
|
11
|
+
expect(Dir.exist?(@name)).to be_truthy
|
12
|
+
end
|
12
13
|
|
13
|
-
|
14
|
-
|
15
|
-
|
14
|
+
it 'creates a spec folder' do
|
15
|
+
expect(Dir.exist?("#{@name}/spec")).to be_truthy
|
16
|
+
end
|
16
17
|
|
17
|
-
|
18
|
-
|
19
|
-
|
18
|
+
it 'creates a page objects folder' do
|
19
|
+
expect(Dir.exist?("#{@name}/page_objects")).to be_truthy
|
20
|
+
end
|
20
21
|
|
21
|
-
|
22
|
-
|
23
|
-
|
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
|
-
|
26
|
-
|
27
|
-
|
26
|
+
it 'creates a pages folder' do
|
27
|
+
expect(Dir.exist?("#{@name}/page_objects/pages")).to be_truthy
|
28
|
+
end
|
28
29
|
|
29
|
-
|
30
|
-
|
31
|
-
|
30
|
+
it 'creates a components folder' do
|
31
|
+
expect(Dir.exist?("#{@name}/page_objects/components")).to be_truthy
|
32
|
+
end
|
32
33
|
|
33
|
-
|
34
|
-
|
35
|
-
|
34
|
+
it 'creates a helper folder' do
|
35
|
+
expect(Dir.exist?("#{@name}/helpers")).to be_truthy
|
36
|
+
end
|
36
37
|
|
37
|
-
|
38
|
-
|
39
|
-
|
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
|
-
|
42
|
-
|
46
|
+
after(:all) do
|
47
|
+
FileUtils.rm_rf(@name)
|
48
|
+
end
|
43
49
|
end
|
44
50
|
|
45
|
-
|
46
|
-
|
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.
|
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-
|
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/
|
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
|