minitest-rails-shoulda 0.3.1 → 0.4.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.
@@ -1,6 +1,6 @@
1
1
  (The MIT License)
2
2
 
3
- Copyright (c) 2012 Robert Bousquet, Rafal Wrzochol
3
+ Copyright (c) 2012-2013 Robert Bousquet, Rafal Wrzochol
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining
6
6
  a copy of this software and associated documentation files (the
@@ -0,0 +1,104 @@
1
+ # minitest-rails-shoulda
2
+
3
+ ## Description
4
+
5
+ Make shoulda-matchers available for minitest-rails.
6
+
7
+ ## Installation
8
+
9
+ In Rails 3 and Bundler, add the following to your Gemfile:
10
+
11
+ ```ruby
12
+ group :test do
13
+ gem "minitest-rails-shoulda"
14
+ end
15
+ ```
16
+
17
+ Add the following to your test helper:
18
+
19
+ ```ruby
20
+ require "minitest/rails/shoulda"
21
+ ```
22
+
23
+ ## Usage
24
+
25
+ ### ActiveRecord Matchers
26
+
27
+ Matchers to test associations:
28
+
29
+ ```ruby
30
+ describe Post do
31
+ subject { Post.new }
32
+ it { must belong_to(:user) }
33
+ it { must have_many(:tags).through(:taggings) }
34
+ end
35
+
36
+ describe User do
37
+ subject { User.new }
38
+ it { must have_many(:posts) }
39
+ end
40
+ ```
41
+
42
+ ### ActiveModel Matchers
43
+
44
+ Matchers to test validations and mass assignments:
45
+
46
+ ```ruby
47
+ describe Post do
48
+ subject { Post.new }
49
+ it { must validate_uniqueness_of(:title) }
50
+ it { must validate_presence_of(:body).with_message(/wtf/) }
51
+ it { must validate_presence_of(:title) }
52
+ it { must validate_numericality_of(:user_id) }
53
+ end
54
+
55
+ describe User do
56
+ subject { User.new }
57
+ it { wont allow_value("blah").for(:email) }
58
+ it { must allow_value("a@b.com").for(:email) }
59
+ it { must ensure_inclusion_of(:age).in_range(1..100) }
60
+ it { wont allow_mass_assignment_of(:password) }
61
+ end
62
+ ```
63
+
64
+ ### ActionController Matchers
65
+
66
+ Matchers to test common patterns:
67
+
68
+ ```ruby
69
+ describe PostsController, "#show" do
70
+ context "for a fictional user" do
71
+ before do
72
+ get :show, :id => 1
73
+ end
74
+
75
+ it { must assign_to(:user) }
76
+ it { must respond_with(:success) }
77
+ it { must render_template(:show) }
78
+ it { wont set_the_flash }
79
+ end
80
+ end
81
+ ```
82
+
83
+
84
+ ## Contributing
85
+
86
+ 1. Fork it
87
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
88
+ 3. Commit your changes (`git commit -am 'Added some feature'`)
89
+ 4. Push to the branch (`git push origin my-new-feature`)
90
+ 5. Create new Pull Request
91
+
92
+ ## Contributors
93
+
94
+ Many thanks go to the following who have contributed to making this library even better:
95
+
96
+ * **[@phlipper](https://github.com/phlipper)**
97
+ * **[@blowmage](https://github.com/blowmage)**
98
+
99
+
100
+ ## License
101
+
102
+ **minitest-rails-shoulda**
103
+
104
+ * Freely distributable and licensed under the [MIT license](http://newleaders.mit-license.org/2012-2013/license.html).
@@ -1,7 +1,7 @@
1
1
  module MiniTest
2
2
  module Rails
3
3
  module Shoulda
4
- VERSION = "0.3.1"
4
+ VERSION = "0.4.0"
5
5
  end
6
6
  end
7
7
  end
@@ -17,7 +17,7 @@ Gem::Specification.new do |s|
17
17
  # s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
18
18
  s.require_paths = ["lib"]
19
19
 
20
- s.add_runtime_dependency "minitest-rails", "~> 0.3.0"
20
+ s.add_runtime_dependency "minitest-rails", "~> 0.5.0"
21
21
  s.add_runtime_dependency "minitest-matchers", "~> 1.2.0"
22
22
  s.add_runtime_dependency "shoulda-matchers", "~> 1.4.1"
23
23
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: minitest-rails-shoulda
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-11-15 00:00:00.000000000 Z
13
+ date: 2013-01-20 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: minitest-rails
@@ -19,7 +19,7 @@ dependencies:
19
19
  requirements:
20
20
  - - ~>
21
21
  - !ruby/object:Gem::Version
22
- version: 0.3.0
22
+ version: 0.5.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -27,7 +27,7 @@ dependencies:
27
27
  requirements:
28
28
  - - ~>
29
29
  - !ruby/object:Gem::Version
30
- version: 0.3.0
30
+ version: 0.5.0
31
31
  - !ruby/object:Gem::Dependency
32
32
  name: minitest-matchers
33
33
  requirement: !ruby/object:Gem::Requirement
@@ -73,7 +73,7 @@ files:
73
73
  - CHANGELOG.txt
74
74
  - Gemfile
75
75
  - License.txt
76
- - README.rdoc
76
+ - README.md
77
77
  - Rakefile
78
78
  - lib/minitest-rails-shoulda.rb
79
79
  - lib/minitest/rails/shoulda.rb
@@ -97,12 +97,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
97
97
  - - ! '>='
98
98
  - !ruby/object:Gem::Version
99
99
  version: '0'
100
+ segments:
101
+ - 0
102
+ hash: 3134249334390949673
100
103
  required_rubygems_version: !ruby/object:Gem::Requirement
101
104
  none: false
102
105
  requirements:
103
106
  - - ! '>='
104
107
  - !ruby/object:Gem::Version
105
108
  version: '0'
109
+ segments:
110
+ - 0
111
+ hash: 3134249334390949673
106
112
  requirements: []
107
113
  rubyforge_project: minitest-rails-shoulda
108
114
  rubygems_version: 1.8.24
@@ -1,74 +0,0 @@
1
- = minitest-rails-shoulda
2
-
3
- Make shoulda-matchers available for minitest-rails.
4
-
5
- == Installation
6
-
7
- In Rails 3 and Bundler, add the following to your Gemfile:
8
-
9
- group :test do
10
- gem "minitest-rails-shoulda"
11
- end
12
-
13
- Add the following to your test helper:
14
-
15
- require "minitest/rails/shoulda"
16
-
17
- == Usage
18
-
19
- === ActiveRecord Matchers
20
-
21
- Matchers to test associations:
22
-
23
- describe Post do
24
- subject { Post.new }
25
- it { must belong_to(:user) }
26
- it { must have_many(:tags).through(:taggings) }
27
- end
28
-
29
- describe User do
30
- subject { User.new }
31
- it { must have_many(:posts) }
32
- end
33
-
34
- === ActiveModel Matchers
35
-
36
- Matchers to test validations and mass assignments:
37
-
38
- describe Post do
39
- subject { Post.new }
40
- it { must validate_uniqueness_of(:title) }
41
- it { must validate_presence_of(:body).with_message(/wtf/) }
42
- it { must validate_presence_of(:title) }
43
- it { must validate_numericality_of(:user_id) }
44
- end
45
-
46
- describe User do
47
- subject { User.new }
48
- it { wont allow_value("blah").for(:email) }
49
- it { must allow_value("a@b.com").for(:email) }
50
- it { must ensure_inclusion_of(:age).in_range(1..100) }
51
- it { wont allow_mass_assignment_of(:password) }
52
- end
53
-
54
- === ActionController Matchers
55
-
56
- Matchers to test common patterns:
57
-
58
- describe PostsController, "#show" do
59
- context "for a fictional user" do
60
- before do
61
- get :show, :id => 1
62
- end
63
-
64
- it { must assign_to(:user) }
65
- it { must respond_with(:success) }
66
- it { must render_template(:show) }
67
- it { wont set_the_flash }
68
- end
69
- end
70
-
71
- === Contributors
72
-
73
- * Phil Cohen <github@phlippers.net>
74
- * Mike Moore <mike@blowmage.com>