mongoid-minitest 0.0.3.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,56 +1,68 @@
1
- ### 0.0.3 - 04/15/2012
2
-
3
- + Added `have_index_for(indexed_field)` document matcher.
4
- + Added `embedded_in(association_name)` association matcher.
5
- + Added `embed_many(association_name)` association matcher.
6
- + Fixed issue check `association_type` if metadata is not nil.
7
- + Added `embed_one(association_name)` association matcher.
8
- + Added `have_and_belong_to_many(association_name)` association matcher.
9
- + Added `validate_associated(association_name)` validation matcher.
10
- + Added `accept_with(value)` chain matcher to `validate_acceptance_of`.
11
- + Added `validate_acceptance_of(field)` validation matcher.
12
- + Added `validate_confirmation_of(field)` validation matcher.
13
-
14
- ### 0.0.2 - 04/13/2012
15
-
16
- + Added `have_one(association_name)` association matcher.
17
- + Added `in(range)` alias to `within` matcher.
18
- + Added `within(range)` chain matcher to `validate_length_of`.
19
- + Added `scoped_to(*scope)` chain matcher to `validate_uniqueness_of`
20
- + Added `with_message(custom_message)` chain matcher for validation matchers to test custom messages.
21
- + Added `DocumentModuleMatcher` class to simplify document matchers.
22
- + Added `be_stored_in(collection_name)` document matcher.
23
- + Added `to_allow(values)` chain matcher to `validate_inclusion_of`.
24
- + Added `validate_inclusion_of(field)` validation matcher.
25
- + Added `belong_to(association_name)` association matcher.
26
-
27
- ### 0.0.1 - 04/12/2012
28
-
29
- + Added `of_type(type)` chain matcher to association matcher.
30
- + Added `have_many(association_name)` association matcher.
31
- + Added `Mongoid::Matchers::Associations` module.
32
- + Added `to_not_allow(*values)` chain matcher to `validate_exclusion_of`.
33
- + Added `validate_exclusion_of(field)` validation matcher.
34
- + Added `to_not_allow(*values)` matcher to `validate_format_of`.
35
- + Added `to_allow(*values)` matcher to `validate_format_of`.
36
- + Added `validate_format_of(field)` validation matcher.
37
- + Added `with_max(value)` alias to `with_maximum` matcher.
38
- + Added `with_maximum(value)` chain matcher to `validate_length_of`
39
- + Added `with_min(value)` alias to `with_minimum` matcher.
40
- + Added `with_minimum(value)` matcher to `validate_length_of`.
41
- + Added `validate_length_of(field)` validation matcher.
42
- + Added `case_sensitive` chain matcher to `validate_uniqueness_of`.
43
- + Added `validate_uniqueness_of(field)` validation matcher.
44
- + Added `validate_presence_of(field)` validation matcher.
45
- + Added `have_fields(*fields)` document matcher.
46
- + Added `be_timestamped` document matcher.
47
- + Added `be_versioned` document matcher.
48
- + Added `be_paranoid` document matcher.
49
- + Added `be_document` document matcher.
50
- + Added `with_default_value(default)` chain matcher to `have_field`.
51
- + Added `of_type(type)` chain matcher to `have_field`.
52
- + Added `must` and `wont` methods to `MiniTest::Spec`.
53
- + Added `have_field(field)` document matcher.
54
- + Added default failure messages based on description matcher.
55
- + Added `must` and `wont` expectations.
56
- + Added `assert_must` and `assert_wont` to `MiniTest::Assertions`.
1
+ ## 0.1.0 - unreleased
2
+
3
+ + Change support to only Ruby 1.9.3.
4
+ + Bump mongoid version to 3.0.2 and minitest version to 3.3.0 and minitest version
5
+ to 3.3.0 - *Sascha Wessel*.
6
+
7
+ ## 0.0.3.1 - 31/05/2012
8
+
9
+ + Change `have_index_for(indexed_field)` to work with `belongs_to :association, index: true`.
10
+ Fixes [#7](https://github.com/frodsan/mongoid-minitest/issues/7).
11
+
12
+ ## 0.0.3 - 04/15/2012
13
+
14
+ + Add `have_index_for(indexed_field)` document matcher.
15
+ + Add `embedded_in(association_name)` association matcher.
16
+ + Add `embed_many(association_name)` association matcher.
17
+ + Fix issue check `association_type` if metadata is not nil.
18
+ + Add `embed_one(association_name)` association matcher.
19
+ + Add `have_and_belong_to_many(association_name)` association matcher.
20
+ + Add `validate_associated(association_name)` validation matcher.
21
+ + Add `accept_with(value)` chain matcher to `validate_acceptance_of`.
22
+ + Add `validate_acceptance_of(field)` validation matcher.
23
+ + Add `validate_confirmation_of(field)` validation matcher.
24
+
25
+ ## 0.0.2 - 04/13/2012
26
+
27
+ + Add `have_one(association_name)` association matcher.
28
+ + Add `in(range)` alias to `within` matcher.
29
+ + Add `within(range)` chain matcher to `validate_length_of`.
30
+ + Add `scoped_to(*scope)` chain matcher to `validate_uniqueness_of`
31
+ + Add `with_message(custom_message)` chain matcher for validation matchers to test
32
+ custom messages.
33
+ + Add `DocumentModuleMatcher` class to simplify document matchers.
34
+ + Add `be_stored_in(collection_name)` document matcher.
35
+ + Add `to_allow(values)` chain matcher to `validate_inclusion_of`.
36
+ + Add `validate_inclusion_of(field)` validation matcher.
37
+ + Add `belong_to(association_name)` association matcher.
38
+
39
+ ## 0.0.1 - 04/12/2012
40
+
41
+ + Add `of_type(type)` chain matcher to association matcher.
42
+ + Add `have_many(association_name)` association matcher.
43
+ + Add `Mongoid::Matchers::Associations` module.
44
+ + Add `to_not_allow(*values)` chain matcher to `validate_exclusion_of`.
45
+ + Add `validate_exclusion_of(field)` validation matcher.
46
+ + Add `to_not_allow(*values)` matcher to `validate_format_of`.
47
+ + Add `to_allow(*values)` matcher to `validate_format_of`.
48
+ + Add `validate_format_of(field)` validation matcher.
49
+ + Add `with_max(value)` alias to `with_maximum` matcher.
50
+ + Add `with_maximum(value)` chain matcher to `validate_length_of`
51
+ + Add `with_min(value)` alias to `with_minimum` matcher.
52
+ + Add `with_minimum(value)` matcher to `validate_length_of`.
53
+ + Add `validate_length_of(field)` validation matcher.
54
+ + Add `case_sensitive` chain matcher to `validate_uniqueness_of`.
55
+ + Add `validate_uniqueness_of(field)` validation matcher.
56
+ + Add `validate_presence_of(field)` validation matcher.
57
+ + Add `have_fields(*fields)` document matcher.
58
+ + Add `be_timestamped` document matcher.
59
+ + Add `be_versioned` document matcher.
60
+ + Add `be_paranoid` document matcher.
61
+ + Add `be_document` document matcher.
62
+ + Add `with_default_value(default)` chain matcher to `have_field`.
63
+ + Add `of_type(type)` chain matcher to `have_field`.
64
+ + Add `must` and `wont` methods to `MiniTest::Spec`.
65
+ + Add `have_field(field)` document matcher.
66
+ + Add default failure messages based on description matcher.
67
+ + Add `must` and `wont` expectations.
68
+ + Add `assert_must` and `assert_wont` to `MiniTest::Assertions`.
data/README.md CHANGED
@@ -1,11 +1,14 @@
1
1
  # mongoid-minitest [![Build Status](https://secure.travis-ci.org/frodsan/mongoid-minitest.png?branch=master&.png)](http://travis-ci.org/frodsan/mongoid-minitest) [![Dependency Status](https://gemnasium.com/frodsan/mongoid-minitest.png)](https://gemnasium.com/frodsan/mongoid-minitest)
2
2
 
3
- MiniTest matchers for Mongoid.
3
+ MiniTest matchers for Mongoid.
4
4
 
5
- ## Requirements
5
+ ## Support
6
6
 
7
- * Ruby 1.9.x
8
- * Mongoid 2.x
7
+ This gem supports:
8
+
9
+ * Ruby 1.9.3
10
+ * Mongoid ~>3.0.2
11
+ * MiniTest ~>3.3.0
9
12
 
10
13
  ## Installation
11
14
 
@@ -23,7 +26,7 @@ Or install it yourself as:
23
26
 
24
27
  ## Usage
25
28
 
26
- Matchers are available at `Mongoid::Matchers` module.
29
+ Matchers are available at `Mongoid::Matchers` module.
27
30
  Setup matchers according to your testing preference:
28
31
 
29
32
  ### minitest/unit
@@ -50,7 +53,7 @@ See the following examples:
50
53
 
51
54
  # minitest/spec
52
55
  describe Dummy
53
- it "sould test matchers" do
56
+ it "should test matchers" do
54
57
  Dummy.must have_field(:name)
55
58
  Dummy.wont have_field(:none)
56
59
  end
@@ -105,7 +108,7 @@ See the following examples:
105
108
  subject { Person }
106
109
 
107
110
  it { must validate_presence_of(:name) }
108
-
111
+
109
112
  it { must validate_uniqueness_of(:login).case_insensitive }
110
113
  it { must validate_uniqueness_of(:login).scoped_to(:site) }
111
114
 
@@ -162,20 +165,17 @@ See the following examples:
162
165
 
163
166
  ## Contributing
164
167
 
165
- 1. Fork it
166
- 2. Create your feature branch (`git checkout -b my-new-feature`)
167
- 3. Commit your changes (`git commit -am 'Added some feature'`)
168
- 4. Push to the branch (`git push origin my-new-feature`)
169
- 5. Create new Pull Request
168
+ 1. Fork it.
169
+ 2. Create your feature branch (`git checkout -b my-new-feature`).
170
+ 3. Commit your changes (`git commit -am 'Added some feature'`).
171
+ 4. Push to the branch (`git push origin my-new-feature`).
172
+ 5. Create new Pull Request.
170
173
 
171
174
  ## Unit Tests
172
175
 
173
- To run unit tests, run `bundle exec rake` or `bundle exec guard` to run in auto mode.
176
+ To run unit tests, run `bundle exec rake`.
174
177
 
175
- ## Last words
178
+ ## License
176
179
 
177
- At [EpicLabs](https://github.com/epiclabs/), We're migrating all the tests from `rspec` to `minitest`. I've been using
178
- [mongoid-rspec gem](https://github.com/evansagge/mongoid-rspec) by [evanssage](https://github.com/evansagge).
179
- So, this gem is heavily inspired in Evan's gem and [minitest-matchers](https://github.com/zenspider/minitest-matchers) gem
180
- by [zenspider](https://github.com/zenspider). We love [minitest](https://github.com/seattlerb/minitest) and
181
- we hope that this will be helpful for you. Thanks!
180
+ MIT License. Copyright 2012 Francesco Rodriguez. See [LICENSE](https://github.com/frodsan/lego/blob/master/LICENSE)
181
+ for more information.
@@ -27,7 +27,7 @@ module Mongoid
27
27
 
28
28
  def matches?(subject)
29
29
  @klass = class_of(subject)
30
- @metadata = @klass.relations[@association[:name]]
30
+ @metadata = @klass.relations[@association[:name]]
31
31
  @result = true
32
32
 
33
33
  check_association_name
@@ -86,19 +86,19 @@ module Mongoid
86
86
  type ||= @association[:type]
87
87
  case type.name
88
88
  when HAS_ONE.name
89
- (passive ? "reference" : "references") << " one"
89
+ (passive ? 'reference' : 'references') << ' one'
90
90
  when HAS_MANY.name
91
- (passive ? "reference" : "references") << " many"
91
+ (passive ? 'reference' : 'references') << ' many'
92
92
  when HAS_AND_BELONGS_TO_MANY.name
93
- (passive ? "reference" : "references") << " and referenced in many"
93
+ (passive ? 'reference' : 'references') << ' and referenced in many'
94
94
  when BELONGS_TO.name
95
- (passive ? "be referenced" : "referenced") << " in"
95
+ (passive ? 'be referenced' : 'referenced') << ' in'
96
96
  when EMBEDS_ONE.name
97
- (passive ? "embed" : "embeds") << " one"
97
+ (passive ? 'embed' : 'embeds') << ' one'
98
98
  when EMBEDS_MANY.name
99
- (passive ? "embed" : "embeds") << " many"
99
+ (passive ? 'embed' : 'embeds') << ' many'
100
100
  when EMBEDDED_IN.name
101
- (passive ? "be" : "is") << " embedded in"
101
+ (passive ? 'be' : 'is') << ' embedded in'
102
102
  else
103
103
  raise "Unknown association type #{type}"
104
104
  end
@@ -8,7 +8,7 @@ module Mongoid
8
8
  end
9
9
 
10
10
  def matches?(subject)
11
- class_of(subject).collection_name == @collection_name
11
+ class_of(subject).collection_name.to_s == @collection_name
12
12
  end
13
13
 
14
14
  def description
@@ -12,17 +12,17 @@ module Mongoid
12
12
  def initialize(mod)
13
13
  @mod = mod
14
14
  end
15
-
15
+
16
16
  def matches?(subject)
17
17
  class_of(subject).included_modules.include?(@mod)
18
18
  end
19
19
 
20
20
  def description
21
21
  msg = case
22
- when @mod == DOCUMENT then ""
23
- when @mod == PARANOIA then "paranoid "
24
- when @mod == VERSIONING then "versioned "
25
- when @mod == TIMESTAMPS then "timestamped "
22
+ when @mod == DOCUMENT then ''
23
+ when @mod == PARANOIA then 'paranoid '
24
+ when @mod == VERSIONING then 'versioned '
25
+ when @mod == TIMESTAMPS then 'timestamped '
26
26
  else raise "Unknow Mongoid module #{@mod}"
27
27
  end
28
28
 
@@ -31,8 +31,8 @@ module Mongoid
31
31
  error << " of type #{result_field.type.inspect}"
32
32
  end
33
33
 
34
- if check_default_with(result_field.default)
35
- error << " with default value of #{result_field.default.inspect}"
34
+ if check_default_with(result_field.default_val)
35
+ error << " with default value of #{result_field.default_val.inspect}"
36
36
  end
37
37
 
38
38
  @errors << "field #{field.inspect << error}" if !error.blank?
@@ -10,10 +10,12 @@ module Mongoid
10
10
  def matches?(subject)
11
11
  @klass = class_of(subject)
12
12
 
13
- unless @klass.index_options[@field.to_sym] || @klass.index_options["#{@field}_id"]
14
- @error = "no index for #{@field.inspect}"
13
+ @klass.index_options.each do |key, options|
14
+ unless key[@field.to_sym] || key["#{@field}_id"]
15
+ @error = "no index for #{@field.inspect}"
15
16
 
16
- return false
17
+ return false
18
+ end
17
19
  end
18
20
 
19
21
  true
@@ -17,9 +17,9 @@ module Mongoid
17
17
  if @not_allowed_values
18
18
  allowed_values = @not_allowed_values - @validator.options[:in].to_a
19
19
  if allowed_values.empty?
20
- @positive_message << " not allowing all values mentioned"
20
+ @positive_message << ' not allowing all values mentioned'
21
21
  else
22
- @negative_message << " allowing the values:"
22
+ @negative_message << ' allowing the values:'
23
23
  @negative_message << " #{to_sentence(allowed_values)}"
24
24
  result = false
25
25
  end
@@ -17,15 +17,15 @@ module Mongoid
17
17
  if @allowed_values
18
18
  not_allowed_values = @allowed_values - @validator.options[:in].to_a
19
19
  if not_allowed_values.empty?
20
- @positive_message << " allowing all values mentioned"
20
+ @positive_message << ' allowing all values mentioned'
21
21
  else
22
- @negative_message << " not allowing the following the values:"
22
+ @negative_message << ' not allowing the following the values:'
23
23
  @negative_message << " #{not_allowed_values.inspect}"
24
24
  result = false
25
25
  end
26
26
  end
27
-
28
- result
27
+
28
+ result
29
29
  end
30
30
 
31
31
  def description
@@ -28,7 +28,7 @@ module Mongoid
28
28
  def description
29
29
  desc = []
30
30
  desc << " scoped to #{to_sentence(@scope)}" if @scope
31
- desc << " allowing case insensitive values" if @case_insensitive
31
+ desc << ' allowing case insensitive values' if @case_insensitive
32
32
  super << desc.to_sentence
33
33
  end
34
34
 
@@ -48,9 +48,9 @@ module Mongoid
48
48
 
49
49
  def check_case_sensivity
50
50
  if @validator.options[:case_sensitive] == false
51
- @positive_message << " with case insensitive values"
51
+ @positive_message << ' with case insensitive values'
52
52
  else
53
- @negative_message << " without case insensitive values"
53
+ @negative_message << ' without case insensitive values'
54
54
  @result = false
55
55
  end
56
56
  end
@@ -1,24 +1,24 @@
1
- gem "minitest"
2
- require "mongoid"
3
- require "minitest/spec"
1
+ gem 'minitest'
2
+ require 'mongoid'
3
+ require 'minitest/spec'
4
4
 
5
- require "minitest/matchers"
6
- require "matchers/helpers"
7
- require "matchers/document/document"
8
- require "matchers/document/have_field"
9
- require "matchers/document/be_stored_in"
10
- require "matchers/document/have_index"
11
- require "matchers/validations/validations"
12
- require "matchers/validations/presence"
13
- require "matchers/validations/uniqueness"
14
- require "matchers/validations/length"
15
- require "matchers/validations/format"
16
- require "matchers/validations/inclusion"
17
- require "matchers/validations/exclusion"
18
- require "matchers/validations/confirmation"
19
- require "matchers/validations/acceptance"
20
- require "matchers/validations/associated"
21
- require "matchers/associations/associations"
5
+ require 'minitest/matchers'
6
+ require 'matchers/helpers'
7
+ require 'matchers/document/document'
8
+ require 'matchers/document/have_field'
9
+ require 'matchers/document/be_stored_in'
10
+ require 'matchers/document/have_index'
11
+ require 'matchers/validations/validations'
12
+ require 'matchers/validations/presence'
13
+ require 'matchers/validations/uniqueness'
14
+ require 'matchers/validations/length'
15
+ require 'matchers/validations/format'
16
+ require 'matchers/validations/inclusion'
17
+ require 'matchers/validations/exclusion'
18
+ require 'matchers/validations/confirmation'
19
+ require 'matchers/validations/acceptance'
20
+ require 'matchers/validations/associated'
21
+ require 'matchers/associations/associations'
22
22
 
23
23
  module Mongoid
24
24
  module Matchers
@@ -1,5 +1,5 @@
1
1
  module Mongoid
2
2
  module MiniTest
3
- VERSION = "0.0.3.1"
3
+ VERSION = '0.1.0'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid-minitest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3.1
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,44 +9,43 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-05-31 00:00:00.000000000 Z
12
+ date: 2012-08-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: minitest
16
- requirement: &70336897048320 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: 2.12.0
21
+ version: 3.3.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70336897048320
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 3.3.0
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: mongoid
27
- requirement: &70336897047440 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ~>
31
36
  - !ruby/object:Gem::Version
32
- version: 2.4.7
37
+ version: 3.0.2
33
38
  type: :runtime
34
39
  prerelease: false
35
- version_requirements: *70336897047440
36
- - !ruby/object:Gem::Dependency
37
- name: bson_ext
38
- requirement: &70336897045340 !ruby/object:Gem::Requirement
40
+ version_requirements: !ruby/object:Gem::Requirement
39
41
  none: false
40
42
  requirements:
41
43
  - - ~>
42
44
  - !ruby/object:Gem::Version
43
- version: 1.6.1
44
- type: :development
45
- prerelease: false
46
- version_requirements: *70336897045340
45
+ version: 3.0.2
47
46
  - !ruby/object:Gem::Dependency
48
- name: guard-minitest
49
- requirement: &70336897044500 !ruby/object:Gem::Requirement
47
+ name: rake
48
+ requirement: !ruby/object:Gem::Requirement
50
49
  none: false
51
50
  requirements:
52
51
  - - ! '>='
@@ -54,18 +53,12 @@ dependencies:
54
53
  version: '0'
55
54
  type: :development
56
55
  prerelease: false
57
- version_requirements: *70336897044500
58
- - !ruby/object:Gem::Dependency
59
- name: rake
60
- requirement: &70336897043900 !ruby/object:Gem::Requirement
56
+ version_requirements: !ruby/object:Gem::Requirement
61
57
  none: false
62
58
  requirements:
63
- - - ~>
59
+ - - ! '>='
64
60
  - !ruby/object:Gem::Version
65
- version: 0.9.2
66
- type: :development
67
- prerelease: false
68
- version_requirements: *70336897043900
61
+ version: '0'
69
62
  description: Minitest matchers for Mongoid
70
63
  email:
71
64
  - lrodriguezsanc@gmail.com
@@ -73,15 +66,6 @@ executables: []
73
66
  extensions: []
74
67
  extra_rdoc_files: []
75
68
  files:
76
- - .gitignore
77
- - .rbenv-version
78
- - .travis.yml
79
- - CHANGELOG.md
80
- - Gemfile
81
- - Guardfile
82
- - LICENSE
83
- - README.md
84
- - Rakefile
85
69
  - lib/matchers/associations/associations.rb
86
70
  - lib/matchers/document/be_stored_in.rb
87
71
  - lib/matchers/document/document.rb
@@ -99,14 +83,11 @@ files:
99
83
  - lib/matchers/validations/uniqueness.rb
100
84
  - lib/matchers/validations/validations.rb
101
85
  - lib/minitest/matchers.rb
102
- - lib/mongoid-minitest.rb
103
86
  - lib/mongoid-minitest/version.rb
104
- - mongoid-minitest.gemspec
105
- - test/matchers/associations_test.rb
106
- - test/matchers/document_test.rb
107
- - test/matchers/validations_test.rb
108
- - test/models/models.rb
109
- - test/test_helper.rb
87
+ - lib/mongoid-minitest.rb
88
+ - LICENSE
89
+ - README.md
90
+ - CHANGELOG.md
110
91
  homepage: https://github.com/frodsan/mongoid-minitest
111
92
  licenses: []
112
93
  post_install_message:
@@ -116,9 +97,9 @@ require_paths:
116
97
  required_ruby_version: !ruby/object:Gem::Requirement
117
98
  none: false
118
99
  requirements:
119
- - - ! '>='
100
+ - - '='
120
101
  - !ruby/object:Gem::Version
121
- version: '0'
102
+ version: 1.9.3
122
103
  required_rubygems_version: !ruby/object:Gem::Requirement
123
104
  none: false
124
105
  requirements:
@@ -127,13 +108,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
127
108
  version: '0'
128
109
  requirements: []
129
110
  rubyforge_project:
130
- rubygems_version: 1.8.11
111
+ rubygems_version: 1.8.23
131
112
  signing_key:
132
113
  specification_version: 3
133
114
  summary: Minitest matchers for Mongoid
134
- test_files:
135
- - test/matchers/associations_test.rb
136
- - test/matchers/document_test.rb
137
- - test/matchers/validations_test.rb
138
- - test/models/models.rb
139
- - test/test_helper.rb
115
+ test_files: []
116
+ has_rdoc:
data/.gitignore DELETED
@@ -1,18 +0,0 @@
1
- *.gem
2
- *.rbc
3
- .bundle
4
- .config
5
- .yardoc
6
- Gemfile.lock
7
- InstalledFiles
8
- _yardoc
9
- coverage
10
- doc/
11
- lib/bundler/man
12
- pkg
13
- rdoc
14
- spec/reports
15
- test/tmp
16
- test/version_tmp
17
- tmp
18
- *.DS_Store
@@ -1 +0,0 @@
1
- 1.9.3-p125
@@ -1,5 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 1.9.2
4
- - 1.9.3
5
- - ruby-head
data/Gemfile DELETED
@@ -1,4 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- # Specify your gem's dependencies in mongoid-minitest.gemspec
4
- gemspec
data/Guardfile DELETED
@@ -1,12 +0,0 @@
1
- guard 'minitest' do
2
- watch(%r|^test/(.*)_test\.rb|)
3
- watch(%r|^test/test_helper\.rb|) { "test" }
4
- watch(%r|^test/models/(.*)\.rb|) { "test" }
5
- watch(%r|^lib/minitest/matchers\.rb|) { "test" }
6
- watch(%r|^lib/mongoid-minitest\.rb|) { "test" }
7
-
8
- watch(%r|^lib/matchers/helpers\.rb|) { "test" }
9
- watch(%r|^lib/matchers/document/(.*)\.rb|) { "test/matchers/document_test.rb" }
10
- watch(%r|^lib/matchers/validations/(.*)\.rb|) { "test/matchers/validations_test.rb" }
11
- watch(%r|^lib/matchers/associations/(.*)\.rb|) { "test/matchers/associations_test.rb" }
12
- end
data/Rakefile DELETED
@@ -1,11 +0,0 @@
1
- #!/usr/bin/env rake
2
- require "bundler/gem_tasks"
3
-
4
- require "rake/testtask"
5
-
6
- Rake::TestTask.new do |t|
7
- t.libs << "test"
8
- t.pattern = "test/*/*_test.rb"
9
- end
10
-
11
- task :default => [:test]
@@ -1,23 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
- require File.expand_path("../lib/mongoid-minitest/version", __FILE__)
3
-
4
- Gem::Specification.new do |gem|
5
- gem.authors = ["Francesco Rodriguez"]
6
- gem.email = ["lrodriguezsanc@gmail.com"]
7
- gem.description = %q{Minitest matchers for Mongoid}
8
- gem.summary = %q{Minitest matchers for Mongoid}
9
- gem.homepage = "https://github.com/frodsan/mongoid-minitest"
10
-
11
- gem.files = `git ls-files`.split($\)
12
- gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
13
- gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
14
- gem.name = "mongoid-minitest"
15
- gem.require_paths = ["lib"]
16
- gem.version = Mongoid::MiniTest::VERSION
17
-
18
- gem.add_dependency "minitest", "~> 2.12.0"
19
- gem.add_dependency "mongoid" , "~> 2.4.7"
20
- gem.add_development_dependency "bson_ext", "~> 1.6.1"
21
- gem.add_development_dependency "guard-minitest"
22
- gem.add_development_dependency "rake", "~> 0.9.2"
23
- end
@@ -1,34 +0,0 @@
1
- require 'test_helper'
2
-
3
- describe "Associations" do
4
-
5
- describe Person do
6
- subject { Person }
7
-
8
- it { must have_many(:pets).of_type(Pet) }
9
- it { must have_one(:account).of_type(Account) }
10
- it { must have_and_belong_to_many(:friends).of_type(Person) }
11
-
12
- it { must embed_one(:profile) }
13
- it { must embed_many(:sites) }
14
- end
15
-
16
- describe Pet do
17
- subject { Pet }
18
-
19
- it { must belong_to(:person).of_type(Person) }
20
- end
21
-
22
- describe Account do
23
- subject { Account }
24
-
25
- it { must belong_to(:person).of_type(Person) }
26
- end
27
-
28
- describe Site do
29
- subject { Site }
30
-
31
- it { must embedded_in(:person) }
32
- end
33
-
34
- end
@@ -1,25 +0,0 @@
1
- require "test_helper"
2
-
3
- describe "Document" do
4
- describe Person do
5
- subject { Person }
6
-
7
- it { must be_document }
8
- it { must be_paranoid }
9
- it { must be_versioned }
10
- it { must be_timestamped }
11
-
12
- it { must be_stored_in(:people) }
13
-
14
- it { must have_field(:name).of_type(String).with_default_value("me") }
15
- it { must have_fields(:name, :login).of_type(String).with_default_value("me") }
16
-
17
- it { must have_index_for(:name) }
18
- end
19
-
20
- describe Pet do
21
- subject { Pet }
22
-
23
- it { must have_index_for(:person) }
24
- end
25
- end
@@ -1,33 +0,0 @@
1
- require "test_helper"
2
-
3
- describe "Validations" do
4
- describe Person do
5
- subject { Person }
6
-
7
- it { must validate_presence_of(:name) }
8
- it { must validate_presence_of(:role).with_message("no role") }
9
-
10
- it { must validate_uniqueness_of(:login).case_insensitive }
11
- it { must validate_uniqueness_of(:login).scoped_to(:site) }
12
-
13
- it { must validate_length_of(:login).in(5..12) }
14
- it { must validate_length_of(:login).within(5..12) }
15
-
16
- it { must validate_length_of(:password).with_min(8) }
17
- it { must validate_length_of(:password).with_minimum(8) }
18
-
19
- it { must validate_length_of(:password).with_max(16) }
20
- it { must validate_length_of(:password).with_maximum(16) }
21
-
22
- it { must validate_format_of(:email).to_allow("foo@bar.com") }
23
- it { must validate_format_of(:email).to_not_allow("foo_bar_com") }
24
-
25
- it { must validate_inclusion_of(:role).to_allow("user", "admin") }
26
- it { must validate_exclusion_of(:email).to_not_allow("foo@bar.com", "fizz@buzz.com") }
27
-
28
- it { must validate_confirmation_of(:password) }
29
- it { must validate_acceptance_of(:terms_of_use).accept_with("1") }
30
-
31
- it { must validate_associated(:pets) }
32
- end
33
- end
@@ -1,62 +0,0 @@
1
- class Person
2
- include Mongoid::Document
3
- include Mongoid::Paranoia
4
- include Mongoid::Versioning
5
- include Mongoid::Timestamps
6
-
7
- field :login, type: String, default: "me"
8
- field :password, type: String
9
- field :name, type: String, default: "me"
10
- field :age, type: Integer
11
- field :email, type: String
12
- field :role, type: String
13
- field :site, type: String
14
-
15
- index :name
16
-
17
- has_one :account
18
- has_many :pets
19
- has_and_belongs_to_many :friends, class_name: "Person"
20
-
21
- embeds_one :profile
22
- embeds_many :sites
23
-
24
- validates_presence_of(:name)
25
- validates_presence_of(:role, message: "no role")
26
-
27
- validates_confirmation_of(:password)
28
- validates_acceptance_of(:terms_of_use)
29
-
30
- validates_uniqueness_of(:email)
31
- validates_uniqueness_of(:login, scope: :site, case_sensitive: false)
32
-
33
- validates_length_of(:password, minimum: 8, maximum: 16)
34
- validates_length_of(:login, in: 5..12)
35
-
36
- validates_format_of(:email, with: /^([^\s]+)((?:[-a-z0-9]\.)[a-z]{2,})$/i)
37
-
38
- validates_inclusion_of(:role, in: ["admin", "user"])
39
- validates_exclusion_of(:email, in: ["foo@bar.com", "fizz@buzz.com"])
40
- end
41
-
42
- class Pet
43
- include Mongoid::Document
44
-
45
- belongs_to :person, index: :true
46
- end
47
-
48
- class Account
49
- include Mongoid::Document
50
-
51
- belongs_to :person
52
- end
53
-
54
- class Profile
55
- include Mongoid::Document
56
- end
57
-
58
- class Site
59
- include Mongoid::Document
60
-
61
- embedded_in :person
62
- end
@@ -1,12 +0,0 @@
1
- require "mongoid-minitest"
2
- require "minitest/autorun"
3
-
4
- Dir[File.dirname(__FILE__) + "/models/*.rb"].each { |f| require f }
5
-
6
- Mongoid.configure do |config|
7
- config.master = Mongo::Connection.new.db("mongoid-minitest-test")
8
- end
9
-
10
- class MiniTest::Spec
11
- include Mongoid::Matchers
12
- end