cucumber-sentences 0.0.2 → 0.0.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a27b0b24e38abd7376c943e3a1c53e76d4dabdac
4
- data.tar.gz: 020d3d6e38de4f9ae09f4ab63a9a45f16615f641
3
+ metadata.gz: ae23c12fc9de5b561ba1a7d6970511bcfd0fff2f
4
+ data.tar.gz: 6b234f3d9c5fad094612e60479f2eda798af63f0
5
5
  SHA512:
6
- metadata.gz: 0008659d04d9d97166263450765af2339433f85d1ed6a8903bf2616f8e2a3c48b197f2d90aeca8c60537d52e4565593cae3ab9c3ad7568b6d3be8a29f79b6340
7
- data.tar.gz: 8411f7ae1deacaa5173579570aae04cb0e5e3e3702b68396d4814f51d5187f25e49a91b694b747b46e8fc86c054e2304991ba67c25d327476741e1e385654422
6
+ metadata.gz: 031cec9e51b7e83bd3827cc27c2dc4f743e64365f64d2229b7c21c79db7dfaf698720e8f43e5e86b8a9dd83c1e21aee7816ef66dc04b72185f668d19e76a8299
7
+ data.tar.gz: a3439d92453cc53f1cf062e3f7e49ebf2a650c223f62fe1f7c8f9da769d97d01600bfb52fd5aeac8150960da82fb17d47d9c4aa9a3e68ae9f6e6cca247d5ab3f
data/.gitignore ADDED
@@ -0,0 +1 @@
1
+ cucumber-sentences-0.0.2.gem
data/README.md ADDED
@@ -0,0 +1,25 @@
1
+ # cucumber-sentences
2
+
3
+ This gem is a collection of pre-built sentences compatible with cucumber and page-object
4
+
5
+ ## Setup
6
+
7
+ Require in your `Gemfile`
8
+
9
+ `````
10
+ gem "cucumber-sentences"
11
+ `````
12
+
13
+ Add in your `features/step_definitions/imports.rb`
14
+
15
+ ````
16
+ require "cucumber-sentences"
17
+ `````
18
+
19
+ That's all !
20
+
21
+ ## Sentences included
22
+
23
+ ### Pages manipulation
24
+
25
+ - Given I am on the "([^"]*)"
@@ -2,7 +2,7 @@ $:.push File.expand_path("../lib", __FILE__)
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = 'cucumber-sentences'
5
- s.version = '0.0.2'
5
+ s.version = '0.0.3'
6
6
  s.license = 'MIT'
7
7
  s.summary = "Pre-built sentences for your cucumber tests"
8
8
  s.description = "Pre-built sentences for your cucumber tests"
@@ -6,4 +6,81 @@ Given(/^I am on the "([^"]*)"$/) do | page_name |
6
6
  @current_page = visit_page page_name.gsub(" ","_"), :using_params => object
7
7
 
8
8
  step "I should be redirected on \"#{page_name}\""
9
- end
9
+ end
10
+
11
+
12
+ Given(/^I change the domain to "([^"]*)"$/) do | domain_name |
13
+ require File.join(File.absolute_path('../', File.dirname(__FILE__)), 'support/helpers/domain')
14
+ domain = Domain.get(domain_name)
15
+
16
+ unless domain
17
+ throw "Domain #{domain_name} not found !"
18
+ end
19
+
20
+ $site_url = domain
21
+ end
22
+
23
+ Given(/^I am on the "([^"]*)" of (.+) "([^"]*)"$/) do | page_name, type, identifier |
24
+ require File.join(File.absolute_path('../', File.dirname(__FILE__)), 'support/helpers/'+ type )
25
+ typeClassName = type.sub(/^(\w)/) {|s| s.capitalize}
26
+
27
+ clazz = Object.const_get(typeClassName)
28
+ object = clazz.get(Fakable.fake_if_needed(identifier))
29
+ object['site_url'] = $site_url
30
+
31
+ unless object
32
+ throw "Object #{type} with id #{identifier} not found !"
33
+ end
34
+
35
+ @current_page = visit_page page_name.gsub(" ","_"), :using_params => object
36
+
37
+ step "I should be redirected on \"#{page_name}\""
38
+ end
39
+
40
+ Given(/^I fill "([^"]*)" field with "([^"]*)"$/) do |field, value|
41
+ @current_page.get_field(field).when_visible().value = Fakable.fake_if_needed(value)
42
+ end
43
+
44
+
45
+ Then(/^I should see field "([^"]*)" filled "([^"]*)"$/) do |field, value|
46
+ expect(@current_page.get_field(field).when_visible().value).to include(Fakable.fake_if_needed(value))
47
+ end
48
+
49
+ Given(/^I click on the select box "([^"]*)" to select "([^"]*)"$/) do |field, value|
50
+ @current_page.get_field(field).when_visible().select(Fakable.fake_if_needed(value))
51
+ end
52
+
53
+ Given(/^I try visit the page "([^"]*)"$/) do | page_name |
54
+ object = {
55
+ "site_url" => $site_url
56
+ }
57
+ visit_page page_name.gsub(" ","_"), :using_params => object
58
+ end
59
+
60
+ Then(/^I should be redirected on "([^"]*)"$/) do | page_name |
61
+ object = {
62
+ 'site_url' => $site_url
63
+ }
64
+ nb_retry = 0
65
+
66
+ begin
67
+ on_page page_name.gsub(" ","_"), :using_params => object do | page |
68
+ @current_page = page
69
+
70
+ if page.respond_to?('is_on_page')
71
+ expect(page.is_on_page(@browser.url)).to be true
72
+ else
73
+ expect(@browser.url).to eq(page.page_url_value)
74
+ end
75
+ end
76
+ rescue RSpec::Expectations::ExpectationNotMetError
77
+ if nb_retry < 30
78
+ nb_retry = nb_retry + 1
79
+
80
+ sleep 1
81
+ retry
82
+ else
83
+ raise
84
+ end
85
+ end
86
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cucumber-sentences
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - DonkeyCode
@@ -17,7 +17,9 @@ executables: []
17
17
  extensions: []
18
18
  extra_rdoc_files: []
19
19
  files:
20
+ - .gitignore
20
21
  - Gemfile
22
+ - README.md
21
23
  - cucumber-sentences.gemspec
22
24
  - lib/cucumber-sentences.rb
23
25
  homepage: https://rubygems.org/gems/cucumber-sentences