spreewald 0.0.1 → 0.0.2
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.
- data/README.md +3 -0
- data/lib/spreewald/email_steps.rb +4 -0
- data/lib/spreewald/web_steps.rb +36 -0
- data/lib/spreewald_support/version.rb +1 -1
- metadata +3 -3
data/README.md
CHANGED
@@ -19,10 +19,13 @@ Or install it yourself as:
|
|
19
19
|
## Usage
|
20
20
|
|
21
21
|
Steps are grouped into a number of categories. You can pick and choose single categories by putting something like
|
22
|
+
|
22
23
|
require 'spreewald/email_steps'
|
24
|
+
|
23
25
|
into your `support/env.rb`
|
24
26
|
|
25
27
|
Alternatively, you can require everything by doing
|
28
|
+
|
26
29
|
require 'spreewald/all_steps'
|
27
30
|
|
28
31
|
## Steps
|
@@ -4,6 +4,10 @@ Before do
|
|
4
4
|
ActionMailer::Base.deliveries.clear
|
5
5
|
end
|
6
6
|
|
7
|
+
When /^I clear my emails$/ do
|
8
|
+
ActionMailer::Base.deliveries.clear
|
9
|
+
end
|
10
|
+
|
7
11
|
Then /^(an|no) e?mail should have been sent((?: |and|with|from "[^"]+"|to "[^"]+"|the subject "[^"]+"|the body "[^"]+"|the attachments "[^"]+")+)$/ do |mode, query|
|
8
12
|
conditions = {}
|
9
13
|
conditions[:to] = $1 if query =~ /to "([^"]+)"/
|
data/lib/spreewald/web_steps.rb
CHANGED
@@ -161,6 +161,13 @@ Then /^the "([^"]*)" field should have the error "([^"]*)"$/ do |field, error_me
|
|
161
161
|
end
|
162
162
|
end
|
163
163
|
|
164
|
+
Then /^the "([^\"]*)" field should( not)? have an error$/ do |field, negate|
|
165
|
+
patiently do
|
166
|
+
expectation = negate ? :should_not : :should
|
167
|
+
page.send(expectation, have_css('.field_with_errors', :text => field))
|
168
|
+
end
|
169
|
+
end
|
170
|
+
|
164
171
|
Then /^the "([^"]*)" field should have no error$/ do |field|
|
165
172
|
patiently do
|
166
173
|
element = find_field(field)
|
@@ -188,6 +195,12 @@ Then /^the "([^"]*)" checkbox(?: within (.*))? should not be checked$/ do |label
|
|
188
195
|
end
|
189
196
|
end
|
190
197
|
|
198
|
+
Then /^the radio button "([^"]*)" should( not)? be (?:checked\|selected)$/ do |field, negate|
|
199
|
+
patiently do
|
200
|
+
page.send((negate ? :has_no_checked_field? : :has_checked_field?), field)
|
201
|
+
end
|
202
|
+
end
|
203
|
+
|
191
204
|
Then /^(?:|I )should be on (.+)$/ do |page_name|
|
192
205
|
patiently do
|
193
206
|
current_path = URI.parse(current_url).path
|
@@ -332,3 +345,26 @@ end
|
|
332
345
|
Then /^I should get a text response$/ do
|
333
346
|
step 'I should get a response with content-type "text/plain"'
|
334
347
|
end
|
348
|
+
|
349
|
+
When /^I follow "([^"]*)" inside any "([^"]*)"$/ do |label, selector|
|
350
|
+
node = first("#{selector} a", :text => label)
|
351
|
+
node.click
|
352
|
+
end
|
353
|
+
|
354
|
+
Then /^I should( not)? see "([^"]*)" inside any "([^"]*)"$/ do |negate, text, selector|
|
355
|
+
expectation = negate ? :should_not : :should
|
356
|
+
page.send(expectation, have_css(selector, :text => text))
|
357
|
+
end
|
358
|
+
|
359
|
+
When /^I fill in "([^"]*)" with "([^"]*)" inside any "([^"]*)"$/ do |field, value, selector|
|
360
|
+
containers = all(:css, selector)
|
361
|
+
input = nil
|
362
|
+
containers.detect do |container|
|
363
|
+
input = container.first(:xpath, XPath::HTML.fillable_field(field))
|
364
|
+
end
|
365
|
+
if input
|
366
|
+
input.set(value)
|
367
|
+
else
|
368
|
+
raise "Could not find an input field \"#{field}\" inside any \"#{selector}\""
|
369
|
+
end
|
370
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spreewald
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 2
|
10
|
+
version: 0.0.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Tobias Kraze
|