minitest_rails_tools 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/README.md +43 -5
  2. data/lib/validation_matchers.rb +3 -3
  3. metadata +1 -1
data/README.md CHANGED
@@ -3,11 +3,36 @@
3
3
 
4
4
  This is a collection of little helpers to make working with Rails and Minitest a bit easier.
5
5
 
6
- NOTE: This is definitely a work in progress. I use this gem in two of my applications and will continue to add stuff to it, as well as fixing bugs.
6
+ _NOTE: This is definitely a work in progress. I use this gem in two of my applications and will continue to add stuff to it, as well as fixing bugs._
7
7
 
8
8
 
9
- It allows you to write stuff like this in your Minitest Spec:
9
+ ## Installation
10
10
 
11
+ To install this gem, just put it in your `Gemfile`:
12
+
13
+ group :test do
14
+ gem 'minitest', :require => false
15
+ gem 'minitest_rails_tools', :require => false
16
+ end
17
+
18
+ Afterwards require it in your `test_helper.rb`:
19
+
20
+ require 'minitest/autorun'
21
+ require 'minitest_rails_tools'
22
+
23
+ Alternatively, you could also just require certain parts of the tools:
24
+
25
+ require 'minitest/autorun'
26
+ require 'association_matchers'
27
+ require 'validation_matchers'
28
+ require 'helper_extension'
29
+
30
+
31
+ ## Tools
32
+
33
+ ### Association Matchers
34
+
35
+ This allows you to test standard Rails associations in your tests:
11
36
 
12
37
  subject { FactoryGirl.create :foo }
13
38
 
@@ -16,13 +41,26 @@ It allows you to write stuff like this in your Minitest Spec:
16
41
  must_have_many :bams
17
42
  must_have_many_through :bars, :bams
18
43
  must_have_and_belong_to_many :berks
44
+
45
+
46
+ ### Validation Matchers
47
+
48
+ You may use this to test a couple of Rails' validations in your tests:
49
+
50
+ subject { FactoryGirl.create :foo }
19
51
 
20
- must_validate_presence_of :lol
21
- must_validate_uniqueness_of :lol
52
+ must_validate_presence_of :bar
53
+ must_validate_uniqueness_of :baz
22
54
 
23
- Additionally, you can define a helper as your subject:
55
+
56
+ ### Helper Extension
57
+
58
+ This allows you to define a helper as your subject (and then call your helper methods on it):
24
59
 
25
60
  subject { helper :foo_helper }
61
+
62
+ subject.do_my_stuff.must_equal 'OK'
63
+
26
64
 
27
65
 
28
66
  Copyright © 2013 SUSE released under the MIT license. For full details see LICENSE included in this distribution.
@@ -13,8 +13,8 @@ end
13
13
  def must_validate_uniqueness_of(attribute_name)
14
14
  it "validates_uniqueness_of :#{attribute_name.to_s.parameterize.underscore}" do
15
15
  other = subject.class.new
16
- subject.send "#{attribute_name}=".to_sym, other.send(attribute_name)
17
- subject.valid?.must_equal false
18
- subject.errors.messages[attribute_name.to_sym].must_include "has already been taken"
16
+ other.send "#{attribute_name}=".to_sym, subject.send(attribute_name)
17
+ other.valid?.must_equal false
18
+ other.errors.messages[attribute_name.to_sym].must_include "has already been taken"
19
19
  end
20
20
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: minitest_rails_tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: