capybara_error_intel 1.0.2 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
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