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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: ebab2dc2cf570ed1a3c8a6e578cd2eaa309f21f5
4
- data.tar.gz: 5732238ef77ad3b3a90c9a5386425549fc8b2ac2
2
+ SHA256:
3
+ metadata.gz: 7dd3ed928524f6ff13429a6e96f7981d05c2d158c0f6ab5e87e5af8aac66c6a4
4
+ data.tar.gz: 3a9a9653e48ba39119e434b03d020393b040b92be15b5e0b6a553ecc729074ea
5
5
  SHA512:
6
- metadata.gz: e0b827c5919d385a41de269a980ac11b5f2f331751ceb26cf179f2d672648221c462f9482cbb9b9a699d280c30f1b760779fdd6c4397c2d945c63bfcfa772d95
7
- data.tar.gz: 5c10884e7d213d895b2c4573e35812502ae5c2014fe9108e869d7ba5a50c987963aa17d731b1fa3dfeeb09a2fca52915f78e2a020d5831810ac753c64c9e1d79
6
+ metadata.gz: 3a5733d4daa7833b7af20c2a2083d83e060bbad7b85f73aaebcfb188284ba354ff417ed79bf097c6fe0093b988c3f68350f10655cf7fd6923d9d45378c44f75b
7
+ data.tar.gz: 47d4470bbe114454303886da0e06aced64537dc3507eb92c875cd6b0823a9da16025de8fad507ace662e0d19b1661e4831370df087972e9b2e8a85c273745e66
@@ -6,4 +6,6 @@ AllCops:
6
6
  Exclude:
7
7
  - '*.gemspec'
8
8
  - 'vendor/**/*'
9
-
9
+ Metrics/BlockLength:
10
+ Exclude:
11
+ - 'spec/**/**'
@@ -0,0 +1,3 @@
1
+ # v1.1.0
2
+
3
+ - Allow Capybara 3.x, update spec for proper error text (thanks @geoffharcourt)
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  ![CapybaraErrorIntel](img/CapybaraErrorIntel.png)
2
2
 
3
- [![Build Status](https://travis-ci.org/dkarter/capybara_error_intel.svg?branch=master)](https://travis-ci.org/dkarter/capybara_error_intel) [![Code Climate](https://codeclimate.com/github/dkarter/capybara_error_intel/badges/gpa.svg)](https://codeclimate.com/github/dkarter/capybara_error_intel) [![Test Coverage](https://codeclimate.com/github/dkarter/capybara_error_intel/badges/coverage.svg)](https://codeclimate.com/github/dkarter/capybara_error_intel/coverage) [![Issue Count](https://codeclimate.com/github/dkarter/capybara_error_intel/badges/issue_count.svg)](https://codeclimate.com/github/dkarter/capybara_error_intel)
3
+ [![Build Status](https://travis-ci.org/dkarter/capybara_error_intel.svg?branch=master)](https://travis-ci.org/dkarter/capybara_error_intel) [![CircleCI](https://circleci.com/gh/dkarter/capybara_error_intel.svg?style=svg)](https://circleci.com/gh/dkarter/capybara_error_intel) [![Code Climate](https://codeclimate.com/github/dkarter/capybara_error_intel/badges/gpa.svg)](https://codeclimate.com/github/dkarter/capybara_error_intel) [![Test Coverage](https://codeclimate.com/github/dkarter/capybara_error_intel/badges/coverage.svg)](https://codeclimate.com/github/dkarter/capybara_error_intel/coverage) [![Issue Count](https://codeclimate.com/github/dkarter/capybara_error_intel/badges/issue_count.svg)](https://codeclimate.com/github/dkarter/capybara_error_intel) [![Gem Version](https://badge.fury.io/rb/capybara_error_intel.svg)](https://badge.fury.io/rb/capybara_error_intel) ![downloads counter](http://ruby-gem-downloads-badge.herokuapp.com/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
@@ -5,4 +5,4 @@ require 'rubocop/rake_task'
5
5
  RuboCop::RakeTask.new
6
6
  RSpec::Core::RakeTask.new(:spec)
7
7
 
8
- task default: [:spec, :rubocop]
8
+ task default: %i[spec rubocop]
@@ -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', '~> 2'
43
+ spec.add_runtime_dependency 'capybara', '>= 2.0', '< 4.x'
44
44
  end
@@ -1,3 +1,3 @@
1
1
  module CapybaraErrorIntel
2
- VERSION = '1.0.2'.freeze
2
+ VERSION = '1.1.0'.freeze
3
3
  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.2
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: 2016-10-28 00:00:00.000000000 Z
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: pry
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: '0'
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: '0'
128
+ version: 1.0.0
129
129
  - !ruby/object:Gem::Dependency
130
- name: pry-byebug
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: rubocop
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: cadre
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: simplecov
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: codeclimate-test-reporter
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: '2'
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.5.1
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