mongoid-rspec 1.7.0 → 1.8.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -24,7 +24,7 @@ Drop in existing or dedicated support file in spec/support (spec/support/mongoid
24
24
  Association Matchers
25
25
  -
26
26
  describe User do
27
- it { should have_many(:articles).with_foreign_key(:author_id) }
27
+ it { should have_many(:articles).with_foreign_key(:author_id).ordered_by(:title) }
28
28
 
29
29
  it { should have_one(:record) }
30
30
  #can verify autobuild is set to true
@@ -39,6 +39,13 @@ module Mongoid
39
39
  self
40
40
  end
41
41
 
42
+ def ordered_by(association_field_name)
43
+ raise "#{@association[:type].inspect} does not respond to :order" unless [HAS_MANY, HAS_AND_BELONGS_TO_MANY, EMBEDS_MANY].include?(@association[:type])
44
+ @association[:order] = association_field_name.to_s
45
+ @expectation_message << " ordered by #{@association[:order].inspect}"
46
+ self
47
+ end
48
+
42
49
  def with_dependent(method_name)
43
50
  @association[:dependent] = method_name
44
51
  @expectation_message << " which specifies dependent as #{@association[:dependent].to_s}"
@@ -108,6 +115,15 @@ module Mongoid
108
115
  end
109
116
  end
110
117
 
118
+ if @association[:order]
119
+ if @association[:order].to_s != metadata.order.to_s
120
+ @negative_result_message = "#{@positive_result_message} ordered by #{metadata.order}"
121
+ return false
122
+ else
123
+ @positive_result_message = "#{@positive_result_message} ordered by #{metadata.order}"
124
+ end
125
+ end
126
+
111
127
  if @association[:dependent]
112
128
  if @association[:dependent].to_s != metadata.dependent.to_s
113
129
  @negative_result_message = "#{@positive_result_message} which specified dependent as #{metadata.dependent}"
@@ -1,5 +1,5 @@
1
1
  module Mongoid
2
2
  module Rspec
3
- VERSION = "1.7.0"
3
+ VERSION = "1.8.0"
4
4
  end
5
5
  end
@@ -11,7 +11,7 @@ class User
11
11
  field :locale
12
12
 
13
13
  belongs_to :site, :inverse_of => :users
14
- has_many :articles, :foreign_key => :author_id
14
+ has_many :articles, :foreign_key => :author_id, :order => :title
15
15
  has_many :comments, :dependent => :destroy, :autosave => true
16
16
  has_and_belongs_to_many :children, :class_name => "User"
17
17
  has_one :record, :autobuild => true
@@ -2,7 +2,7 @@ require 'spec_helper'
2
2
 
3
3
  describe "Associations" do
4
4
  describe User do
5
- it { should have_many(:articles).with_foreign_key(:author_id) }
5
+ it { should have_many(:articles).with_foreign_key(:author_id).ordered_by(:title) }
6
6
 
7
7
  it { should have_one(:record).with_autobuild }
8
8
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid-rspec
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.0
4
+ version: 1.8.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-27 00:00:00.000000000 Z
12
+ date: 2013-04-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -129,7 +129,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
129
129
  version: '0'
130
130
  segments:
131
131
  - 0
132
- hash: -1467103026555514284
132
+ hash: 4081406614009892373
133
133
  required_rubygems_version: !ruby/object:Gem::Requirement
134
134
  none: false
135
135
  requirements:
@@ -138,7 +138,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
138
138
  version: '0'
139
139
  segments:
140
140
  - 0
141
- hash: -1467103026555514284
141
+ hash: 4081406614009892373
142
142
  requirements: []
143
143
  rubyforge_project: mongoid-rspec
144
144
  rubygems_version: 1.8.25