active_record_block_matchers 0.1.0 → 0.1.1
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 76aa63f8b10ab12208d486f38962b648d49c8789
|
4
|
+
data.tar.gz: a2d7d99eb3bb735bbfabd2a1192b0fc54e2f2194
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9b8832aeb00039b04ca2a8897d5507d3bbac87352ed13bc08ec3846472297a5045097d073bdbd23728849fe022b38bde9feaba247ae2eec6b6f52371355519e2
|
7
|
+
data.tar.gz: 9e94d9770a73a56401bbb8f7334328fd8eb67c241c0400093eaa8d051bdb49605b65046892ac6f4f9ad27c937bc5ce9c774149761eb704e644fc21794ebf8d36
|
data/README.md
CHANGED
@@ -22,8 +22,30 @@ Or install it yourself as:
|
|
22
22
|
|
23
23
|
#### `create_a_new`
|
24
24
|
|
25
|
+
aliases: `create_a`, `create_an`
|
26
|
+
|
25
27
|
Example:
|
26
28
|
|
29
|
+
```ruby
|
30
|
+
expect { User.create! }.to create_a_new(User)
|
31
|
+
```
|
32
|
+
|
33
|
+
This can be very useful for controller tests:
|
34
|
+
|
35
|
+
```ruby
|
36
|
+
expect { post :create, user: user_params }.to create_a_new(User)
|
37
|
+
```
|
38
|
+
|
39
|
+
You can chain `.with_attributes` as well to define a list of values you expect the new object to have. This works with both database attributes and computed values.
|
40
|
+
|
41
|
+
```ruby
|
42
|
+
expect { User.create!(username: "bob") }
|
43
|
+
.to create_a_new(User)
|
44
|
+
.with_attributes(username: "bob")
|
45
|
+
```
|
46
|
+
|
47
|
+
This is a great way to test ActiveReocrd hooks on your model. For example, if your User model downcases all usernames before saving them to the database, you can test it like this:
|
48
|
+
|
27
49
|
```ruby
|
28
50
|
expect { User.create!(username: "BOB") }
|
29
51
|
.to create_a_new(User)
|
@@ -21,10 +21,11 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.required_ruby_version = ">= 1.9.3"
|
22
22
|
|
23
23
|
spec.add_dependency "activerecord", ">= 3.2.0"
|
24
|
-
spec.add_dependency "rspec", ">= 3.0.0"
|
24
|
+
spec.add_dependency "rspec-expectations", ">= 3.0.0"
|
25
25
|
|
26
26
|
spec.add_development_dependency "bundler", "~> 1.8"
|
27
27
|
spec.add_development_dependency "rake", "~> 10.0"
|
28
|
+
spec.add_development_dependency "rspec", "~> 3.2"
|
28
29
|
spec.add_development_dependency "pry", "~> 0.10.1"
|
29
30
|
spec.add_development_dependency "sqlite3", "~> 1.3.10"
|
30
31
|
spec.add_development_dependency "standalone_migrations", "~> 2.1.5"
|
@@ -9,7 +9,8 @@ RSpec::Matchers.define :create_a_new do |klass|
|
|
9
9
|
@attributes ||= {}
|
10
10
|
time_before = Time.current
|
11
11
|
block.call
|
12
|
-
|
12
|
+
column_name = ActiveRecordBlockMatchers::Config.created_at_column_name
|
13
|
+
@created_records = klass.where("#{column_name} > ?", time_before)
|
13
14
|
return false unless @created_records.count == 1
|
14
15
|
|
15
16
|
@failures = []
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_record_block_matchers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nathan Wallace
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-02-
|
11
|
+
date: 2015-02-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -25,7 +25,7 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 3.2.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name: rspec
|
28
|
+
name: rspec-expectations
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '10.0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rspec
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '3.2'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '3.2'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: pry
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -153,7 +167,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
153
167
|
version: '0'
|
154
168
|
requirements: []
|
155
169
|
rubyforge_project:
|
156
|
-
rubygems_version: 2.4.
|
170
|
+
rubygems_version: 2.4.3
|
157
171
|
signing_key:
|
158
172
|
specification_version: 4
|
159
173
|
summary: Additional RSpec custom matchers for ActiveRecord
|