swamp 1.2.0 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -1
- data/.ruby-version +1 -0
- data/Guardfile +33 -0
- data/README.md +24 -10
- data/features/specifications/changing_scope_to_source.feature +16 -0
- data/features/specifications/scope_changing.feature +14 -24
- data/features/specifications/using_prism_scope.feature +100 -0
- data/features/step_definitions/swamp_steps.rb +14 -4
- data/lib/swamp/builders/basic.rb +39 -0
- data/lib/swamp/builders/prism.rb +9 -0
- data/lib/swamp/collections/buttons.rb +28 -0
- data/lib/swamp/{fields.rb → collections/fields.rb} +9 -3
- data/lib/swamp/{input_buttons.rb → collections/input_buttons.rb} +7 -2
- data/lib/swamp/{links.rb → collections/links.rb} +3 -1
- data/lib/swamp/collections/select_boxes.rb +28 -0
- data/lib/swamp/{button.rb → elements/button.rb} +1 -0
- data/lib/swamp/{complex_select_box.rb → elements/complex_select_box.rb} +2 -0
- data/lib/swamp/{element.rb → elements/element.rb} +12 -0
- data/lib/swamp/{field.rb → elements/field.rb} +1 -0
- data/lib/swamp/{input_button.rb → elements/input_button.rb} +1 -0
- data/lib/swamp/{link.rb → elements/link.rb} +1 -0
- data/lib/swamp/{select_box.rb → elements/select_box.rb} +1 -0
- data/lib/swamp/scopes/page.rb +9 -0
- data/lib/swamp/scopes/prism.rb +9 -0
- data/lib/swamp/scopes/scope.rb +13 -0
- data/lib/swamp/scopes/source.rb +9 -0
- data/lib/swamp/setup.rb +7 -3
- data/lib/swamp/version.rb +1 -1
- data/lib/swamp/wrapper.rb +1 -1
- data/lib/swamp.rb +19 -14
- data/spec/swamp/builders/basic_spec.rb +44 -0
- data/spec/swamp/builders/prism_spec.rb +17 -0
- data/spec/swamp/buttons_spec.rb +7 -4
- data/spec/swamp/fields_spec.rb +3 -0
- data/spec/swamp/input_buttons_spec.rb +1 -0
- data/spec/swamp/links_spec.rb +1 -0
- data/spec/swamp/select_boxes_spec.rb +3 -0
- data/spec/swamp/setup_spec.rb +11 -4
- data/swamp.gemspec +12 -10
- metadata +96 -55
- data/lib/swamp/builder.rb +0 -39
- data/lib/swamp/buttons.rb +0 -22
- data/lib/swamp/select_boxes.rb +0 -22
- data/spec/swamp/builder_spec.rb +0 -46
- /data/lib/swamp/{elements.rb → collections/elements.rb} +0 -0
data/lib/swamp/select_boxes.rb
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
module Swamp
|
2
|
-
class SelectBoxes < Elements
|
3
|
-
def get
|
4
|
-
elements = []
|
5
|
-
page.all('select').map do | element |
|
6
|
-
if element.visible?
|
7
|
-
if has_id?(element)
|
8
|
-
shine %/##{element["id"]}/
|
9
|
-
elements << Swamp::SelectBox.new(element["id"], element["id"])
|
10
|
-
elsif has_name?(element)
|
11
|
-
shine %/select[name='#{element["name"]}']/
|
12
|
-
elements << Swamp::SelectBox.new(element["name"], element["name"])
|
13
|
-
else
|
14
|
-
shine %/select.#{element["class"]}/
|
15
|
-
elements << Swamp::ComplexSelectBox.new(element["class"], element["class"])
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
elements
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
data/spec/swamp/builder_spec.rb
DELETED
@@ -1,46 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
module Swamp
|
3
|
-
describe Builder do
|
4
|
-
let(:setup) { setup = Swamp::Setup.new }
|
5
|
-
|
6
|
-
describe "#build_method" do
|
7
|
-
context "when the type is field" do
|
8
|
-
context "when the name and the selector are present" do
|
9
|
-
it "returns the method's snippet" do
|
10
|
-
element = Swamp::Field.new("User-Name", "User-Name")
|
11
|
-
builder = Swamp::Builder.new(element, setup)
|
12
|
-
expect(builder.build_snippet).to eq("def type_user_name(input)\n page.fill_in(\"User-Name\", with: input)\nend")
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
context "when the type is button" do
|
18
|
-
context "when the name and the selector are present" do
|
19
|
-
it "returns the method's snippet" do
|
20
|
-
element = Swamp::Button.new("Log_in", "Log_in")
|
21
|
-
builder = Swamp::Builder.new(element, setup)
|
22
|
-
expect(builder.build_snippet).to eq("def log_in\n page.click_button(\"Log_in\")\nend")
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
context "when just the selector is present" do
|
27
|
-
it "returns just the selector snippet" do
|
28
|
-
element = Swamp::Button.new(nil, "$ 9.90 Buy")
|
29
|
-
builder = Swamp::Builder.new(element, setup)
|
30
|
-
expect(builder.build_snippet).to eq("page.click_button(\"$ 9.90 Buy\")")
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
context "when the scope has changed" do
|
35
|
-
it "returns the method's snippet with the changed scope" do
|
36
|
-
element = Swamp::Button.new("Log_in", "Log_in")
|
37
|
-
allow(setup).to receive(:scope).and_return("source")
|
38
|
-
builder = Swamp::Builder.new(element, setup)
|
39
|
-
expect(builder.build_snippet).to eq("def log_in\n source.click_button(\"Log_in\")\nend")
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
File without changes
|