capybara_error_intel 1.0.2 → 1.1.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 +5 -5
- data/.rubocop.yml +3 -1
- data/CHANGELOG.md +3 -0
- data/README.md +33 -1
- data/Rakefile +1 -1
- data/capybara_error_intel.gemspec +2 -2
- data/lib/capybara_error_intel/version.rb +1 -1
- metadata +24 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 7dd3ed928524f6ff13429a6e96f7981d05c2d158c0f6ab5e87e5af8aac66c6a4
|
4
|
+
data.tar.gz: 3a9a9653e48ba39119e434b03d020393b040b92be15b5e0b6a553ecc729074ea
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3a5733d4daa7833b7af20c2a2083d83e060bbad7b85f73aaebcfb188284ba354ff417ed79bf097c6fe0093b988c3f68350f10655cf7fd6923d9d45378c44f75b
|
7
|
+
data.tar.gz: 47d4470bbe114454303886da0e06aced64537dc3507eb92c875cd6b0823a9da16025de8fad507ace662e0d19b1661e4831370df087972e9b2e8a85c273745e66
|
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
ADDED
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|

|
2
2
|
|
3
|
-
[](https://travis-ci.org/dkarter/capybara_error_intel) [](https://codeclimate.com/github/dkarter/capybara_error_intel) [](https://codeclimate.com/github/dkarter/capybara_error_intel/coverage) [](https://codeclimate.com/github/dkarter/capybara_error_intel)
|
3
|
+
[](https://travis-ci.org/dkarter/capybara_error_intel) [](https://circleci.com/gh/dkarter/capybara_error_intel) [](https://codeclimate.com/github/dkarter/capybara_error_intel) [](https://codeclimate.com/github/dkarter/capybara_error_intel/coverage) [](https://codeclimate.com/github/dkarter/capybara_error_intel) [](https://badge.fury.io/rb/capybara_error_intel) 
|
4
4
|
|
5
5
|
Capybara provides excellent error messages for its built in predicate methods: `has_selector?`, `has_text?`, `has_title?` etc., but when those are used from Page Objects while exposing predicate methods from the PageObjects themselves the error messages are lost and all we get is `expected true, got false`. Including this module into your PageObject by adding `include CapybaraErrorIntel::DSL` after `include Capybara::DSL` will return the heuristic error messages.
|
6
6
|
|
@@ -79,6 +79,38 @@ end
|
|
79
79
|
It should be rather trivial to add more of them. Please open an issue or submit a pull request if something you need is missing.
|
80
80
|
|
81
81
|
|
82
|
+
### Accessing original predicate methods from your Page Object
|
83
|
+
|
84
|
+
If you ever need to access the overwritten Capybara predicate methods you can do
|
85
|
+
so by using Capybara's `page` for example:
|
86
|
+
|
87
|
+
|
88
|
+
```ruby
|
89
|
+
module Pages
|
90
|
+
class PostIndex
|
91
|
+
include Capybara::DSL
|
92
|
+
include CapybaraErrorIntel::DSL
|
93
|
+
|
94
|
+
def has_header?(header_text)
|
95
|
+
page.has_selector?('h1', text: header_text)
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
100
|
+
```
|
101
|
+
|
102
|
+
This will allow you to have negative assertions. That being said I strongly
|
103
|
+
discourage the use of negative assertions, especially with waiting Capybara
|
104
|
+
methods such as `has_selector?` since they can make your test suite really slow.
|
105
|
+
|
106
|
+
```ruby
|
107
|
+
expect(post_index_page).to_not have_header('POSTS')
|
108
|
+
```
|
109
|
+
|
110
|
+
> Note: I'm considering changing CapybaraErrorIntel for v2 to expose the
|
111
|
+
> predicate methods as bang methods, both positive and negative e.g.
|
112
|
+
> `has_selector!` and `has_no_selector!`. Please share your thoughts in the
|
113
|
+
> issues section.
|
82
114
|
|
83
115
|
## Development
|
84
116
|
|
data/Rakefile
CHANGED
@@ -32,13 +32,13 @@ Gem::Specification.new do |spec|
|
|
32
32
|
spec.add_development_dependency 'launchy', '~> 0'
|
33
33
|
spec.add_development_dependency 'rack', '~> 1.6', '>= 1.6.4'
|
34
34
|
spec.add_development_dependency 'rack-test', '~> 0.5', '>= 0.5.4'
|
35
|
+
spec.add_development_dependency 'codeclimate-test-reporter', '~> 1.0.0'
|
35
36
|
spec.add_development_dependency 'pry'
|
36
37
|
spec.add_development_dependency 'pry-byebug'
|
37
38
|
spec.add_development_dependency 'rubocop'
|
38
39
|
spec.add_development_dependency 'cadre'
|
39
40
|
spec.add_development_dependency 'simplecov'
|
40
|
-
spec.add_development_dependency 'codeclimate-test-reporter'
|
41
41
|
|
42
42
|
spec.add_runtime_dependency 'rspec', '>= 2.1', '< 4.x'
|
43
|
-
spec.add_runtime_dependency 'capybara', '
|
43
|
+
spec.add_runtime_dependency 'capybara', '>= 2.0', '< 4.x'
|
44
44
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capybara_error_intel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dorian Karter
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-05-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -113,21 +113,21 @@ dependencies:
|
|
113
113
|
- !ruby/object:Gem::Version
|
114
114
|
version: 0.5.4
|
115
115
|
- !ruby/object:Gem::Dependency
|
116
|
-
name:
|
116
|
+
name: codeclimate-test-reporter
|
117
117
|
requirement: !ruby/object:Gem::Requirement
|
118
118
|
requirements:
|
119
|
-
- - "
|
119
|
+
- - "~>"
|
120
120
|
- !ruby/object:Gem::Version
|
121
|
-
version:
|
121
|
+
version: 1.0.0
|
122
122
|
type: :development
|
123
123
|
prerelease: false
|
124
124
|
version_requirements: !ruby/object:Gem::Requirement
|
125
125
|
requirements:
|
126
|
-
- - "
|
126
|
+
- - "~>"
|
127
127
|
- !ruby/object:Gem::Version
|
128
|
-
version:
|
128
|
+
version: 1.0.0
|
129
129
|
- !ruby/object:Gem::Dependency
|
130
|
-
name: pry
|
130
|
+
name: pry
|
131
131
|
requirement: !ruby/object:Gem::Requirement
|
132
132
|
requirements:
|
133
133
|
- - ">="
|
@@ -141,7 +141,7 @@ dependencies:
|
|
141
141
|
- !ruby/object:Gem::Version
|
142
142
|
version: '0'
|
143
143
|
- !ruby/object:Gem::Dependency
|
144
|
-
name:
|
144
|
+
name: pry-byebug
|
145
145
|
requirement: !ruby/object:Gem::Requirement
|
146
146
|
requirements:
|
147
147
|
- - ">="
|
@@ -155,7 +155,7 @@ dependencies:
|
|
155
155
|
- !ruby/object:Gem::Version
|
156
156
|
version: '0'
|
157
157
|
- !ruby/object:Gem::Dependency
|
158
|
-
name:
|
158
|
+
name: rubocop
|
159
159
|
requirement: !ruby/object:Gem::Requirement
|
160
160
|
requirements:
|
161
161
|
- - ">="
|
@@ -169,7 +169,7 @@ dependencies:
|
|
169
169
|
- !ruby/object:Gem::Version
|
170
170
|
version: '0'
|
171
171
|
- !ruby/object:Gem::Dependency
|
172
|
-
name:
|
172
|
+
name: cadre
|
173
173
|
requirement: !ruby/object:Gem::Requirement
|
174
174
|
requirements:
|
175
175
|
- - ">="
|
@@ -183,7 +183,7 @@ dependencies:
|
|
183
183
|
- !ruby/object:Gem::Version
|
184
184
|
version: '0'
|
185
185
|
- !ruby/object:Gem::Dependency
|
186
|
-
name:
|
186
|
+
name: simplecov
|
187
187
|
requirement: !ruby/object:Gem::Requirement
|
188
188
|
requirements:
|
189
189
|
- - ">="
|
@@ -220,16 +220,22 @@ dependencies:
|
|
220
220
|
name: capybara
|
221
221
|
requirement: !ruby/object:Gem::Requirement
|
222
222
|
requirements:
|
223
|
-
- - "
|
223
|
+
- - ">="
|
224
|
+
- !ruby/object:Gem::Version
|
225
|
+
version: '2.0'
|
226
|
+
- - "<"
|
224
227
|
- !ruby/object:Gem::Version
|
225
|
-
version:
|
228
|
+
version: 4.x
|
226
229
|
type: :runtime
|
227
230
|
prerelease: false
|
228
231
|
version_requirements: !ruby/object:Gem::Requirement
|
229
232
|
requirements:
|
230
|
-
- - "
|
233
|
+
- - ">="
|
231
234
|
- !ruby/object:Gem::Version
|
232
|
-
version: '2'
|
235
|
+
version: '2.0'
|
236
|
+
- - "<"
|
237
|
+
- !ruby/object:Gem::Version
|
238
|
+
version: 4.x
|
233
239
|
description: |-
|
234
240
|
Capybara provides excellent error messages for its
|
235
241
|
built in predicate methods: has_selector?, has_text?,
|
@@ -252,6 +258,7 @@ files:
|
|
252
258
|
- ".rspec"
|
253
259
|
- ".rubocop.yml"
|
254
260
|
- ".travis.yml"
|
261
|
+
- CHANGELOG.md
|
255
262
|
- Gemfile
|
256
263
|
- LICENSE.txt
|
257
264
|
- README.md
|
@@ -285,7 +292,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
285
292
|
version: '0'
|
286
293
|
requirements: []
|
287
294
|
rubyforge_project:
|
288
|
-
rubygems_version: 2.
|
295
|
+
rubygems_version: 2.7.3
|
289
296
|
signing_key:
|
290
297
|
specification_version: 4
|
291
298
|
summary: Provides Capybara's heuristic error messages for Page Objects
|