closure_tree 4.6.2 → 4.6.3

Sign up to get free protection for your applications and to get access to all the features.
data/spec/user_spec.rb CHANGED
@@ -4,16 +4,16 @@ describe "empty db" do
4
4
 
5
5
  context "empty db" do
6
6
  it "should return no entities" do
7
- User.roots.should be_empty
8
- User.leaves.should be_empty
7
+ expect(User.roots).to be_empty
8
+ expect(User.leaves).to be_empty
9
9
  end
10
10
  end
11
11
 
12
12
  context "1 user db" do
13
13
  it "should return the only entity as a root and leaf" do
14
14
  a = User.create!(:email => "me@domain.com")
15
- User.roots.should == [a]
16
- User.leaves.should == [a]
15
+ expect(User.roots).to eq([a])
16
+ expect(User.leaves).to eq([a])
17
17
  end
18
18
  end
19
19
 
@@ -21,8 +21,8 @@ describe "empty db" do
21
21
  it "should return a simple root and leaf" do
22
22
  root = User.create!(:email => "first@t.co")
23
23
  leaf = root.children.create!(:email => "second@t.co")
24
- User.roots.should == [root]
25
- User.leaves.should == [leaf]
24
+ expect(User.roots).to eq([root])
25
+ expect(User.leaves).to eq([leaf])
26
26
  end
27
27
  end
28
28
 
@@ -35,36 +35,36 @@ describe "empty db" do
35
35
  end
36
36
 
37
37
  it "should create all Users" do
38
- User.all.to_a.should =~ [@root, @mid, @leaf]
38
+ expect(User.all.to_a).to match_array([@root, @mid, @leaf])
39
39
  end
40
40
 
41
41
  it 'orders self_and_ancestor_ids nearest generation first' do
42
- @leaf.self_and_ancestor_ids.should == [@leaf.id, @mid.id, @root.id]
42
+ expect(@leaf.self_and_ancestor_ids).to eq([@leaf.id, @mid.id, @root.id])
43
43
  end
44
44
 
45
45
  it 'orders self_and_descendant_ids nearest generation first' do
46
- @root.self_and_descendant_ids.should == [@root.id, @mid.id, @leaf.id]
46
+ expect(@root.self_and_descendant_ids).to eq([@root.id, @mid.id, @leaf.id])
47
47
  end
48
48
 
49
49
  it "should have children" do
50
- @root.children.to_a.should == [@mid]
51
- @mid.children.to_a.should == [@leaf]
52
- @leaf.children.to_a.should == []
50
+ expect(@root.children.to_a).to eq([@mid])
51
+ expect(@mid.children.to_a).to eq([@leaf])
52
+ expect(@leaf.children.to_a).to eq([])
53
53
  end
54
54
 
55
55
  it "roots should have children" do
56
- User.roots.first.children.to_a.should =~ [@mid]
56
+ expect(User.roots.first.children.to_a).to match_array([@mid])
57
57
  end
58
58
 
59
59
  it "should return a root and leaf without middle User" do
60
- User.roots.to_a.should == [@root]
61
- User.leaves.to_a.should == [@leaf]
60
+ expect(User.roots.to_a).to eq([@root])
61
+ expect(User.leaves.to_a).to eq([@leaf])
62
62
  end
63
63
 
64
64
  it "should delete leaves" do
65
65
  User.leaves.destroy_all
66
- User.roots.to_a.should == [@root] # untouched
67
- User.leaves.to_a.should == [@mid]
66
+ expect(User.roots.to_a).to eq([@root]) # untouched
67
+ expect(User.leaves.to_a).to eq([@mid])
68
68
  end
69
69
 
70
70
  it "should delete roots and maintain hierarchies" do
@@ -78,27 +78,27 @@ describe "empty db" do
78
78
  end
79
79
 
80
80
  def assert_mid_and_leaf_remain
81
- ReferralHierarchy.where(:ancestor_id => @root_id).should be_empty
82
- ReferralHierarchy.where(:descendant_id => @root_id).should be_empty
83
- @mid.ancestry_path.should == %w{matt@t.co}
84
- @leaf.ancestry_path.should == %w{matt@t.co james@t.co}
85
- @mid.self_and_descendants.to_a.should =~ [@mid, @leaf]
86
- User.roots.should == [@mid]
87
- User.leaves.should == [@leaf]
81
+ expect(ReferralHierarchy.where(:ancestor_id => @root_id)).to be_empty
82
+ expect(ReferralHierarchy.where(:descendant_id => @root_id)).to be_empty
83
+ expect(@mid.ancestry_path).to eq(%w{matt@t.co})
84
+ expect(@leaf.ancestry_path).to eq(%w{matt@t.co james@t.co})
85
+ expect(@mid.self_and_descendants.to_a).to match_array([@mid, @leaf])
86
+ expect(User.roots).to eq([@mid])
87
+ expect(User.leaves).to eq([@leaf])
88
88
  end
89
89
  end
90
90
 
91
91
  it "supports users with contracts" do
92
92
  u = User.find_or_create_by_path(%w(a@t.co b@t.co c@t.co))
93
- u.descendant_ids.should == []
94
- u.ancestor_ids.should == [u.parent.id, u.root.id]
95
- u.self_and_ancestor_ids.should == [u.id, u.parent.id, u.root.id]
96
- u.root.descendant_ids.should == [u.parent.id, u.id]
97
- u.root.ancestor_ids.should == []
98
- u.root.self_and_ancestor_ids.should == [u.root.id]
93
+ expect(u.descendant_ids).to eq([])
94
+ expect(u.ancestor_ids).to eq([u.parent.id, u.root.id])
95
+ expect(u.self_and_ancestor_ids).to eq([u.id, u.parent.id, u.root.id])
96
+ expect(u.root.descendant_ids).to eq([u.parent.id, u.id])
97
+ expect(u.root.ancestor_ids).to eq([])
98
+ expect(u.root.self_and_ancestor_ids).to eq([u.root.id])
99
99
  c1 = u.contracts.create!
100
100
  c2 = u.parent.contracts.create!
101
- u.root.indirect_contracts.to_a.should =~ [c1, c2]
101
+ expect(u.root.indirect_contracts.to_a).to match_array([c1, c2])
102
102
  end
103
103
 
104
104
  it "supports << on shallow unsaved hierarchies" do
@@ -106,9 +106,9 @@ describe "empty db" do
106
106
  b = User.new(:email => "b")
107
107
  a.children << b
108
108
  a.save
109
- User.roots.should == [a]
110
- User.leaves.should == [b]
111
- b.ancestry_path.should == %w(a b)
109
+ expect(User.roots).to eq([a])
110
+ expect(User.leaves).to eq([b])
111
+ expect(b.ancestry_path).to eq(%w(a b))
112
112
  end
113
113
 
114
114
  it "supports << on deep unsaved hierarchies" do
@@ -125,30 +125,30 @@ describe "empty db" do
125
125
  c2.children << d
126
126
 
127
127
  a.save
128
- User.roots.to_a.should == [a]
129
- User.leaves.to_a.should =~ [b1, c1, d]
130
- d.ancestry_path.should == %w(a b2 c2 d)
128
+ expect(User.roots.to_a).to eq([a])
129
+ expect(User.leaves.to_a).to match_array([b1, c1, d])
130
+ expect(d.ancestry_path).to eq(%w(a b2 c2 d))
131
131
  end
132
132
 
133
133
  it "supports siblings" do
134
- User._ct.order_option?.should be_false
134
+ expect(User._ct.order_option?).to be_falsey
135
135
  a = User.create(:email => "a")
136
136
  b1 = a.children.create(:email => "b1")
137
137
  b2 = a.children.create(:email => "b2")
138
138
  b3 = a.children.create(:email => "b3")
139
- a.siblings.should be_empty
140
- b1.siblings.to_a.should =~ [b2, b3]
139
+ expect(a.siblings).to be_empty
140
+ expect(b1.siblings.to_a).to match_array([b2, b3])
141
141
  end
142
142
 
143
143
  context "when a user is not yet saved" do
144
144
  it "supports siblings" do
145
- User._ct.order_option?.should be_false
145
+ expect(User._ct.order_option?).to be_falsey
146
146
  a = User.create(:email => "a")
147
147
  b1 = a.children.new(:email => "b1")
148
148
  b2 = a.children.create(:email => "b2")
149
149
  b3 = a.children.create(:email => "b3")
150
- a.siblings.should be_empty
151
- b1.siblings.to_a.should =~ [b2, b3]
150
+ expect(a.siblings).to be_empty
151
+ expect(b1.siblings.to_a).to match_array([b2, b3])
152
152
  end
153
153
  end
154
154
 
@@ -156,8 +156,8 @@ describe "empty db" do
156
156
  c = User.find_or_create_by_path %w(a b c)
157
157
  b = c.parent
158
158
  c.root.destroy
159
- b.reload.should be_root
160
- b.child_ids.should == [c.id]
159
+ expect(b.reload).to be_root
160
+ expect(b.child_ids).to eq([c.id])
161
161
  end
162
162
 
163
163
  context "roots" do
@@ -168,7 +168,7 @@ describe "empty db" do
168
168
  u.email = ea
169
169
  end
170
170
  end
171
- User.roots.collect { |ea| ea.email }.sort.should == expected
171
+ expect(User.roots.collect { |ea| ea.email }.sort).to eq(expected)
172
172
  end
173
173
  end
174
174
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: closure_tree
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.6.2
4
+ version: 4.6.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew McEachen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-20 00:00:00.000000000 Z
11
+ date: 2014-07-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -70,16 +70,16 @@ dependencies:
70
70
  name: rspec
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: 2.14.0
75
+ version: '3.0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: 2.14.0
82
+ version: '3.0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rspec-instafail
85
85
  requirement: !ruby/object:Gem::Requirement