rspec-side_effects 0.1.0 → 0.2.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 +4 -4
- data/.rubocop.yml +4 -0
- data/.travis.yml +7 -2
- data/CHANGELOG.md +8 -2
- data/README.md +16 -4
- data/Rakefile +13 -1
- data/lib/rspec/side_effects.rb +5 -1
- data/lib/rspec/side_effects/version.rb +1 -1
- data/rspec-side_effects.gemspec +2 -1
- metadata +18 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 84f7b1e6ac56d84ea306895f30239a9fa52e5fa3
|
4
|
+
data.tar.gz: 368c83fba08d99226868478c56c2e812a3dc01c7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7fb0192e7375f532b214813025c6b8784eecda7293b5a4f22c4dfb4d88741e1e312018a5113ae9730dc228470582d919f577929911b4bfc97a7a4c68a7283773
|
7
|
+
data.tar.gz: 479eb0d57005fb506efa3f0617205ef1f2df9970a6648be000c57d910189d8216bc896d8de0257658f58668ab4ea869ed64e49f9a1870f6edc0a63718d1b3c26
|
data/.rubocop.yml
CHANGED
data/.travis.yml
CHANGED
@@ -15,5 +15,10 @@ os:
|
|
15
15
|
- linux
|
16
16
|
- osx
|
17
17
|
sudo: false
|
18
|
-
|
19
|
-
-
|
18
|
+
before_script:
|
19
|
+
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-darwin-amd64 > ./cc-test-reporter ; fi
|
20
|
+
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter ; fi
|
21
|
+
- chmod +x ./cc-test-reporter
|
22
|
+
- ./cc-test-reporter before-build
|
23
|
+
after_script:
|
24
|
+
- ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
|
data/CHANGELOG.md
CHANGED
@@ -6,7 +6,13 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
|
6
6
|
|
7
7
|
## [Unreleased]
|
8
8
|
|
9
|
-
## 0.0
|
9
|
+
## 0.2.0 - 2018-07-12
|
10
|
+
### Changed
|
11
|
+
- Rescue Exceptions from the subject in the its_side_effects_are helper, so
|
12
|
+
that it is possible to check the side effects of a method which is expected
|
13
|
+
to raise an error
|
14
|
+
|
15
|
+
## 0.1.0 - 2018-05-02
|
10
16
|
### Added
|
11
17
|
- Add the its_side_effects_are helper, as well as its aliases it_has_side_effects
|
12
|
-
and specify_side_effects
|
18
|
+
and specify_side_effects.
|
data/README.md
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
# Rspec::SideEffects
|
2
2
|
|
3
3
|
[](http://badge.fury.io/rb/rspec-side_effects)
|
4
|
-
[](https://gemnasium.com/sugarcrm/rspec-side_effects)
|
5
4
|
[](https://travis-ci.org/sugarcrm/rspec-side_effects)
|
6
5
|
[](https://codeclimate.com/github/sugarcrm/rspec-side_effects)
|
7
6
|
[](https://codeclimate.com/github/sugarcrm/rspec-side_effects/coverage)
|
8
7
|
[](http://inch-ci.org/github/sugarcrm/rspec-side_effects)
|
9
8
|
[](LICENSE)
|
10
9
|
|
11
|
-
RSpec extension for
|
10
|
+
RSpec extension for checking the side effects of your specifications.
|
12
11
|
|
13
12
|
## Installation
|
14
13
|
|
@@ -32,10 +31,10 @@ This gem is intended to replace explicitly calling the *subject* before checking
|
|
32
31
|
its side effects. It might be used when testing things like:
|
33
32
|
* method which works directly with a database
|
34
33
|
* method which works directly with a file system
|
35
|
-
* method which integrates mocked objects
|
34
|
+
* method which only integrates mocked objects
|
36
35
|
|
37
36
|
There are several aliases for *it_has_side_effects_are* which can be used to
|
38
|
-
communicate different things.
|
37
|
+
communicate different things to the reader.
|
39
38
|
|
40
39
|
```
|
41
40
|
subject { test_class.test }
|
@@ -74,6 +73,19 @@ its_side_effects_are do
|
|
74
73
|
end
|
75
74
|
```
|
76
75
|
|
76
|
+
Exceptions are also rescued by the helper, so you can still check side effects
|
77
|
+
which also expecting an exception to be raised.
|
78
|
+
|
79
|
+
```
|
80
|
+
subject { test_class.test }
|
81
|
+
|
82
|
+
it { expect { subject }.to raise_error(StandardError) }
|
83
|
+
its_side_effects_are do
|
84
|
+
# Check what might have happened before the exception.
|
85
|
+
# Or confirm things which should not have happend with an error.
|
86
|
+
end
|
87
|
+
```
|
88
|
+
|
77
89
|
## Development
|
78
90
|
|
79
91
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
data/Rakefile
CHANGED
@@ -1,7 +1,10 @@
|
|
1
1
|
require 'bundler/gem_tasks'
|
2
2
|
require 'rspec/core/rake_task'
|
3
3
|
require 'rubocop/rake_task'
|
4
|
+
require 'bundler/audit/task'
|
4
5
|
require 'pathname'
|
6
|
+
require 'license_finder'
|
7
|
+
require 'English'
|
5
8
|
|
6
9
|
RSpec::Core::RakeTask.new(:spec) do |task|
|
7
10
|
task.rspec_opts = '--warnings'
|
@@ -23,4 +26,13 @@ RuboCop::RakeTask.new(:rubocop) do |task|
|
|
23
26
|
].push(rubocop_report_pathname.to_s)
|
24
27
|
end
|
25
28
|
|
26
|
-
|
29
|
+
Bundler::Audit::Task.new
|
30
|
+
|
31
|
+
desc 'Check dependency licenses'
|
32
|
+
task :license_finder do
|
33
|
+
puts `license_finder --quiet --format text`
|
34
|
+
|
35
|
+
abort('LicenseFinder failed') unless $CHILD_STATUS.success?
|
36
|
+
end
|
37
|
+
|
38
|
+
task default: %i[spec rubocop bundle:audit license_finder]
|
data/lib/rspec/side_effects.rb
CHANGED
@@ -16,7 +16,11 @@ module Rspec
|
|
16
16
|
|
17
17
|
describe('side effects', *options) do
|
18
18
|
if block
|
19
|
-
before
|
19
|
+
before do
|
20
|
+
# rubocop:disable Lint/HandleExceptions, Lint/RescueException
|
21
|
+
begin; subject; rescue Exception; end
|
22
|
+
# rubocop:enable Lint/HandleExceptions, Lint/RescueException
|
23
|
+
end
|
20
24
|
example(nil, :aggregate_failures, *options, &block)
|
21
25
|
else
|
22
26
|
example(nil, {}) { subject }
|
data/rspec-side_effects.gemspec
CHANGED
@@ -32,7 +32,8 @@ Gem::Specification.new do |spec|
|
|
32
32
|
|
33
33
|
# Dependencies whose APIs we do not really depend upon, and can be upgraded
|
34
34
|
# without limiting.
|
35
|
-
spec.add_development_dependency '
|
35
|
+
spec.add_development_dependency 'bundler-audit'
|
36
|
+
spec.add_development_dependency 'license_finder'
|
36
37
|
spec.add_development_dependency 'rubocop'
|
37
38
|
spec.add_development_dependency 'rubocop-rspec'
|
38
39
|
spec.add_development_dependency 'simplecov'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-side_effects
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Sullivan Cant
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-07-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec-core
|
@@ -67,7 +67,21 @@ dependencies:
|
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '3.0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: bundler-audit
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: license_finder
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
72
86
|
requirements:
|
73
87
|
- - ">="
|
@@ -142,6 +156,7 @@ files:
|
|
142
156
|
- Rakefile
|
143
157
|
- bin/console
|
144
158
|
- bin/setup
|
159
|
+
- doc/dependency_decisions.yml
|
145
160
|
- lib/rspec/side_effects.rb
|
146
161
|
- lib/rspec/side_effects/version.rb
|
147
162
|
- rspec-side_effects.gemspec
|