swamp 1.2.0 → 1.3.0
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/.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
|