neography 1.5.0 → 1.5.1

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.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/CHANGELOG.md +939 -0
  4. data/Guardfile +14 -0
  5. data/README.md +16 -14
  6. data/lib/neography/connection.rb +1 -0
  7. data/lib/neography/errors.rb +3 -0
  8. data/lib/neography/node.rb +21 -25
  9. data/lib/neography/property.rb +60 -11
  10. data/lib/neography/property_container.rb +5 -6
  11. data/lib/neography/rest/batch.rb +10 -0
  12. data/lib/neography/rest/node_properties.rb +1 -1
  13. data/lib/neography/version.rb +1 -1
  14. data/neography.gemspec +4 -2
  15. data/spec/integration/authorization_spec.rb +4 -4
  16. data/spec/integration/broken_spatial_spec.rb +6 -6
  17. data/spec/integration/index_spec.rb +6 -6
  18. data/spec/integration/neography_spec.rb +1 -1
  19. data/spec/integration/node_encoding_spec.rb +19 -19
  20. data/spec/integration/node_path_spec.rb +36 -36
  21. data/spec/integration/node_relationship_spec.rb +84 -84
  22. data/spec/integration/node_spec.rb +50 -50
  23. data/spec/integration/parsing_spec.rb +2 -2
  24. data/spec/integration/relationship_spec.rb +10 -10
  25. data/spec/integration/rest_batch_no_streaming_spec.rb +6 -6
  26. data/spec/integration/rest_batch_spec.rb +209 -188
  27. data/spec/integration/rest_batch_streaming_spec.rb +8 -8
  28. data/spec/integration/rest_bulk_spec.rb +23 -23
  29. data/spec/integration/rest_constraints_spec.rb +17 -17
  30. data/spec/integration/rest_experimental_spec.rb +2 -2
  31. data/spec/integration/rest_gremlin_fail_spec.rb +4 -4
  32. data/spec/integration/rest_header_spec.rb +3 -2
  33. data/spec/integration/rest_index_spec.rb +76 -76
  34. data/spec/integration/rest_labels_spec.rb +13 -13
  35. data/spec/integration/rest_node_spec.rb +50 -50
  36. data/spec/integration/rest_other_node_relationship_spec.rb +50 -50
  37. data/spec/integration/rest_path_spec.rb +55 -55
  38. data/spec/integration/rest_plugin_spec.rb +59 -59
  39. data/spec/integration/rest_relationship_spec.rb +77 -77
  40. data/spec/integration/rest_relationship_types_spec.rb +2 -2
  41. data/spec/integration/rest_schema_index_spec.rb +6 -6
  42. data/spec/integration/rest_spatial_spec.rb +50 -50
  43. data/spec/integration/rest_transaction_spec.rb +67 -67
  44. data/spec/integration/rest_traverse_spec.rb +40 -40
  45. data/spec/integration/unmanaged_spec.rb +3 -3
  46. data/spec/matchers.rb +2 -2
  47. data/spec/neography_spec.rb +3 -3
  48. data/spec/spec_helper.rb +2 -2
  49. data/spec/unit/config_spec.rb +95 -20
  50. data/spec/unit/connection_spec.rb +40 -40
  51. data/spec/unit/node_spec.rb +12 -12
  52. data/spec/unit/properties_spec.rb +174 -29
  53. data/spec/unit/relationship_spec.rb +16 -16
  54. data/spec/unit/rest/batch_spec.rb +23 -23
  55. data/spec/unit/rest/clean_spec.rb +1 -1
  56. data/spec/unit/rest/constraints_spec.rb +6 -6
  57. data/spec/unit/rest/cypher_spec.rb +1 -1
  58. data/spec/unit/rest/extensions_spec.rb +2 -2
  59. data/spec/unit/rest/gremlin_spec.rb +3 -3
  60. data/spec/unit/rest/helpers_spec.rb +19 -19
  61. data/spec/unit/rest/labels_spec.rb +10 -10
  62. data/spec/unit/rest/node_auto_indexes_spec.rb +13 -13
  63. data/spec/unit/rest/node_indexes_spec.rb +22 -22
  64. data/spec/unit/rest/node_paths_spec.rb +7 -7
  65. data/spec/unit/rest/node_properties_spec.rb +15 -15
  66. data/spec/unit/rest/node_relationships_spec.rb +10 -10
  67. data/spec/unit/rest/node_traversal_spec.rb +1 -1
  68. data/spec/unit/rest/nodes_spec.rb +32 -32
  69. data/spec/unit/rest/relationship_auto_indexes_spec.rb +12 -12
  70. data/spec/unit/rest/relationship_indexes_spec.rb +21 -21
  71. data/spec/unit/rest/relationship_properties_spec.rb +15 -15
  72. data/spec/unit/rest/relationship_types_spec.rb +1 -1
  73. data/spec/unit/rest/relationships_spec.rb +2 -2
  74. data/spec/unit/rest/schema_index_spec.rb +3 -3
  75. data/spec/unit/rest/transactions_spec.rb +4 -4
  76. metadata +32 -3
  77. data/ChangeLog +0 -658
@@ -8,22 +8,22 @@ module Neography
8
8
 
9
9
  before do
10
10
  @db = double(Neography::Rest, :is_a? => true).as_null_object
11
- Rest.stub(:new) { @db }
11
+ allow(Rest).to receive(:new) { @db }
12
12
  end
13
13
 
14
14
  it "assigns a new Rest db by default" do
15
15
  node = Node.create
16
- node.neo_server.should == @db
16
+ expect(node.neo_server).to eq(@db)
17
17
  end
18
18
 
19
19
  it "creates without arguments" do
20
- @db.should_receive(:create_node).with(nil)
20
+ expect(@db).to receive(:create_node).with(nil)
21
21
  Node.create
22
22
  end
23
23
 
24
24
  it "creates with only a hash argument" do
25
25
  properties = { :foo => "bar" }
26
- @db.should_receive(:create_node).with(properties)
26
+ expect(@db).to receive(:create_node).with(properties)
27
27
  Node.create(properties)
28
28
  end
29
29
 
@@ -34,7 +34,7 @@ module Neography
34
34
  it "cannot pass a server as the first argument, properties as the second (deprecated)" do
35
35
  @other_server = Neography::Rest.new
36
36
  properties = { :foo => "bar" }
37
- @other_server.should_not_receive(:create_node).with(properties)
37
+ expect(@other_server).not_to receive(:create_node).with(properties)
38
38
  expect {
39
39
  Node.create(@other_server, properties)
40
40
  }.to raise_error(ArgumentError)
@@ -43,7 +43,7 @@ module Neography
43
43
  it "can pass properties as the first argument, a server as the second" do
44
44
  @other_server = Neography::Rest.new
45
45
  properties = { :foo => "bar" }
46
- @other_server.should_receive(:create_node).with(properties)
46
+ expect(@other_server).to receive(:create_node).with(properties)
47
47
  Node.create(properties, @other_server)
48
48
  end
49
49
 
@@ -56,22 +56,22 @@ module Neography
56
56
  before do
57
57
  # stub out actual connections
58
58
  @db = double(Rest).as_null_object
59
- Rest.stub(:new) { @db }
59
+ allow(Rest).to receive(:new) { @db }
60
60
  end
61
61
 
62
62
  it "load by id" do
63
- @db.should_receive(:get_node).with(5)
63
+ expect(@db).to receive(:get_node).with(5)
64
64
  Node.load(5)
65
65
  end
66
66
 
67
67
  it "loads by node" do
68
68
  node = Node.new
69
- @db.should_not_receive(:get_node).with(node)
69
+ expect(@db).not_to receive(:get_node).with(node)
70
70
  Node.load(node)
71
71
  end
72
72
 
73
73
  it "loads by full server string" do
74
- @db.should_receive(:get_node).with("http://localhost:7474/db/data/node/2")
74
+ expect(@db).to receive(:get_node).with("http://localhost:7474/db/data/node/2")
75
75
  Node.load("http://localhost:7474/db/data/node/2")
76
76
  end
77
77
 
@@ -81,7 +81,7 @@ module Neography
81
81
 
82
82
  it "cannot pass a server as the first argument, node as the second (depracted)" do
83
83
  @other_server = Neography::Rest.new
84
- @other_server.should_not_receive(:get_node).with(42)
84
+ expect(@other_server).not_to receive(:get_node).with(42)
85
85
  expect {
86
86
  node = Node.load(@other_server, 42)
87
87
  }.to raise_error(ArgumentError)
@@ -89,7 +89,7 @@ module Neography
89
89
 
90
90
  it "can pass a node as the first argument, server as the second" do
91
91
  @other_server = Neography::Rest.new
92
- @other_server.should_receive(:get_node).with(42)
92
+ expect(@other_server).to receive(:get_node).with(42)
93
93
  node = Node.load(42, @other_server)
94
94
  end
95
95
 
@@ -5,68 +5,213 @@ module Neography
5
5
 
6
6
  before do
7
7
  @db = double(Neography::Rest, :is_a? => true).as_null_object
8
- Rest.stub(:new) { @db }
8
+ allow(Rest).to receive(:new) { @db }
9
9
  end
10
10
 
11
11
  context "Node" do
12
12
 
13
13
  subject(:node) do
14
14
  node = Node.create
15
- node.stub(:neo_id => 42)
15
+ allow(node).to receive(:neo_id).and_return(42)
16
16
  node
17
17
  end
18
18
 
19
19
  it "sets properties as accessor" do
20
- @db.should_receive(:"set_node_properties").with(42, { "key" => "value" })
20
+ expect(@db).to receive(:"set_node_properties").with(42, { "key" => "value" })
21
21
  node.key = "value"
22
22
  end
23
23
 
24
24
  it "sets properties as array entry" do
25
- @db.should_receive(:"set_node_properties").with(42, { "key" => "value" })
25
+ expect(@db).to receive(:"set_node_properties").with(42, { "key" => "value" })
26
26
  node["key"] = "value"
27
27
  end
28
28
 
29
29
  it "gets properties as accessor" do
30
- @db.stub(:"set_node_properties")
30
+ allow(@db).to receive(:"set_node_properties")
31
31
  node.key = "value"
32
- node.key.should == "value"
32
+ expect(node.key).to eq("value")
33
33
  end
34
34
 
35
35
  it "gets properties as array entry" do
36
- @db.stub(:"set_node_properties")
36
+ allow(@db).to receive(:"set_node_properties")
37
37
  node["key"] = "value"
38
- node["key"].should == "value"
38
+ expect(node["key"]).to eq("value")
39
39
  end
40
40
 
41
41
  it "resets properties as accessor" do
42
- @db.should_receive(:"remove_node_properties").with(42, ["key"])
42
+ expect(@db).to receive(:"remove_node_properties").with(42, ["key"])
43
43
  node.key = "value"
44
44
  node.key = nil
45
45
  end
46
46
 
47
47
  it "resets properties as array entry" do
48
- @db.should_receive(:"remove_node_properties").with(42, ["key"])
48
+ expect(@db).to receive(:"remove_node_properties").with(42, ["key"])
49
49
  node["key"] = "value"
50
50
  node["key"] = nil
51
51
  end
52
52
 
53
53
  it "gets unknown properties as nil" do
54
- node.unknown.should == nil
54
+ expect(node.unknown).to eq(nil)
55
55
  end
56
56
 
57
57
  it "overwrites existing properties" do
58
- @db.should_receive(:"set_node_properties").with(42, { "key" => "value1" })
58
+ expect(@db).to receive(:"set_node_properties").with(42, { "key" => "value1" })
59
59
  node.key = "value1"
60
60
 
61
- @db.should_receive(:"set_node_properties").with(42, { "key" => "value2" })
61
+ expect(@db).to receive(:"set_node_properties").with(42, { "key" => "value2" })
62
62
  node.key = "value2"
63
63
  end
64
64
 
65
65
  it "knows its attributes" do
66
- @db.stub(:"set_node_properties")
66
+ allow(@db).to receive(:"set_node_properties")
67
67
  node.key = "value"
68
68
  node["key2"] = "value"
69
- node.attributes.should =~ [ :key, :key2 ]
69
+ expect(node.attributes).to match_array([ :key, :key2 ])
70
+ end
71
+
72
+ describe "resets all node properties with one http request" do
73
+ before(:each) do
74
+ @change_node = Node.create
75
+
76
+ # A property that we will overwrite
77
+ @change_node[:old_key] = 'value'
78
+
79
+ # Stub neo id
80
+ allow(@change_node).to receive(:neo_id).and_return(22)
81
+
82
+ # What we call set_properties with
83
+ @new_data = { new_key: "new value"}
84
+
85
+ # Make sure the request is dispatched to the rest layer
86
+ expect(@db).to receive(:reset_node_properties).with(22, @new_data)
87
+ end
88
+
89
+ it "removes the old property getter" do
90
+ expect{
91
+ @change_node.reset_properties(@new_data)
92
+ }.to change{@change_node.respond_to?(:old_key)}.from(true).to(false)
93
+ end
94
+
95
+ it "removes the old property setter" do
96
+ expect{
97
+ @change_node.reset_properties(@new_data)
98
+ }.to change{@change_node.respond_to?('old_key=')}.from(true).to(false)
99
+ end
100
+
101
+ it "removes the property from the underlying openstruct" do
102
+ expect{
103
+ @change_node.reset_properties(@new_data)
104
+ }.to change{@change_node['old_key']}.from('value').to(nil)
105
+ end
106
+
107
+ it "adds the new property getter" do
108
+ expect{
109
+ @change_node.reset_properties(@new_data)
110
+ }.to change{@change_node.respond_to?(:new_key)}.from(false).to(true)
111
+ end
112
+
113
+ it "adds the new property setter" do
114
+ expect{
115
+ @change_node.reset_properties(@new_data)
116
+ }.to change{@change_node.respond_to?('new_key=')}.from(false).to(true)
117
+ end
118
+
119
+ it "adds the new property to the underlying openstruct" do
120
+ expect{
121
+ @change_node.reset_properties(@new_data)
122
+ }.to change{@change_node['new_key']}.from(nil).to('new value')
123
+ end
124
+
125
+ it "updates its attributes" do
126
+ expect{
127
+ @change_node.reset_properties(@new_data)
128
+ }.to change{@change_node.attributes}.from([:old_key]).to([:new_key])
129
+ end
130
+ end
131
+
132
+
133
+ describe "sets all node properties with one http request" do
134
+ before(:each) do
135
+ @change_node = Node.create
136
+
137
+ # A property that we will overwrite
138
+ @change_node[:old_key] = 'value'
139
+
140
+ # A property that we will not overwrite and that must stay
141
+ @change_node[:old_remaining_key] = 'remaining value'
142
+
143
+ # Stub neo id
144
+ allow(@change_node).to receive(:neo_id).and_return(22)
145
+
146
+ # What we call set_properties with
147
+ @new_data = { "new_key" => "new value", 'old_key' => nil }
148
+
149
+ # What we expect neography to send as the new properties
150
+ update_data = { new_key: 'new value', old_remaining_key: 'remaining value'}
151
+
152
+ # Make sure the request is dispatched to the rest layer
153
+ expect(@db).to receive(:reset_node_properties).with(22, update_data)
154
+ end
155
+
156
+ it "removes the old property getter" do
157
+ expect{
158
+ @change_node.set_properties(@new_data)
159
+ }.to change{@change_node.respond_to?(:old_key)}.from(true).to(false)
160
+ end
161
+
162
+ it "removes the old property setter" do
163
+ expect{
164
+ @change_node.set_properties(@new_data)
165
+ }.to change{@change_node.respond_to?('old_key=')}.from(true).to(false)
166
+ end
167
+
168
+ it "removes the property from the underlying openstruct" do
169
+ expect{
170
+ @change_node.set_properties(@new_data)
171
+ }.to change{@change_node['old_key']}.from('value').to(nil)
172
+ end
173
+
174
+ it "doesn't touch the remaining property in the openstruct" do
175
+ expect{
176
+ @change_node.set_properties(@new_data)
177
+ }.to_not change{@change_node['old_remaining_key']}
178
+ end
179
+
180
+ it "doesn't touch the remaining property getter" do
181
+ expect{
182
+ @change_node.set_properties(@new_data)
183
+ }.to_not change{@change_node.respond_to?(:old_remaining_key)}
184
+ end
185
+
186
+ it "doesn't touch the remaining property setter" do
187
+ expect{
188
+ @change_node.set_properties(@new_data)
189
+ }.to_not change{@change_node.respond_to?('old_remaining_key=')}
190
+ end
191
+
192
+ it "adds the new property getter" do
193
+ expect{
194
+ @change_node.set_properties(@new_data)
195
+ }.to change{@change_node.respond_to?(:new_key)}.from(false).to(true)
196
+ end
197
+
198
+ it "adds the new property setter" do
199
+ expect{
200
+ @change_node.set_properties(@new_data)
201
+ }.to change{@change_node.respond_to?('new_key=')}.from(false).to(true)
202
+ end
203
+
204
+ it "adds the new property to the underlying openstruct" do
205
+ expect{
206
+ @change_node.set_properties(@new_data)
207
+ }.to change{@change_node['new_key']}.from(nil).to('new value')
208
+ end
209
+
210
+ it "updates its attributes" do
211
+ expect{
212
+ @change_node.set_properties(@new_data)
213
+ }.to change{@change_node.attributes}.from([:old_key, :old_remaining_key]).to([:old_remaining_key, :new_key])
214
+ end
70
215
  end
71
216
 
72
217
  end
@@ -78,61 +223,61 @@ module Neography
78
223
  to = Node.create
79
224
 
80
225
  rel = Relationship.create(:type, from, to)
81
- rel.stub(:neo_id => 42)
226
+ allow(rel).to receive(:neo_id).and_return(42)
82
227
  rel
83
228
  end
84
229
 
85
230
  it "sets properties as accessor" do
86
- @db.should_receive(:"set_relationship_properties").with(42, { "key" => "value" })
231
+ expect(@db).to receive(:"set_relationship_properties").with(42, { "key" => "value" })
87
232
  relationship.key = "value"
88
233
  end
89
234
 
90
235
  it "sets properties as array entry" do
91
- @db.should_receive(:"set_relationship_properties").with(42, { "key" => "value" })
236
+ expect(@db).to receive(:"set_relationship_properties").with(42, { "key" => "value" })
92
237
  relationship["key"] = "value"
93
238
  end
94
239
 
95
240
  it "gets properties as accessor" do
96
- @db.stub(:"set_relationship_properties")
241
+ allow(@db).to receive(:"set_relationship_properties")
97
242
  relationship.key = "value"
98
- relationship.key.should == "value"
243
+ expect(relationship.key).to eq("value")
99
244
  end
100
245
 
101
246
  it "gets properties as array entry" do
102
- @db.stub(:"set_relationship_properties")
247
+ allow(@db).to receive(:"set_relationship_properties")
103
248
  relationship["key"] = "value"
104
- relationship["key"].should == "value"
249
+ expect(relationship["key"]).to eq("value")
105
250
  end
106
251
 
107
252
  it "resets properties as accessor" do
108
- @db.should_receive(:"remove_relationship_properties").with(42, ["key"])
253
+ expect(@db).to receive(:"remove_relationship_properties").with(42, ["key"])
109
254
  relationship.key = "value"
110
255
  relationship.key = nil
111
256
  end
112
257
 
113
258
  it "resets properties as array entry" do
114
- @db.should_receive(:"remove_relationship_properties").with(42, ["key"])
259
+ expect(@db).to receive(:"remove_relationship_properties").with(42, ["key"])
115
260
  relationship["key"] = "value"
116
261
  relationship["key"] = nil
117
262
  end
118
263
 
119
264
  it "gets unknown properties as nil" do
120
- relationship.unknown.should == nil
265
+ expect(relationship.unknown).to eq(nil)
121
266
  end
122
267
 
123
268
  it "overwrites existing properties" do
124
- @db.should_receive(:"set_relationship_properties").with(42, { "key" => "value1" })
269
+ expect(@db).to receive(:"set_relationship_properties").with(42, { "key" => "value1" })
125
270
  relationship.key = "value1"
126
271
 
127
- @db.should_receive(:"set_relationship_properties").with(42, { "key" => "value2" })
272
+ expect(@db).to receive(:"set_relationship_properties").with(42, { "key" => "value2" })
128
273
  relationship.key = "value2"
129
274
  end
130
275
 
131
276
  it "knows its attributes" do
132
- @db.stub(:"set_relationship_properties")
277
+ allow(@db).to receive(:"set_relationship_properties")
133
278
  relationship.key = "value"
134
279
  relationship["key2"] = "value"
135
- relationship.attributes.should =~ [ :key, :key2 ]
280
+ expect(relationship.attributes).to match_array([ :key, :key2 ])
136
281
  end
137
282
 
138
283
  end
@@ -19,19 +19,19 @@ module Neography
19
19
 
20
20
  describe "::create" do
21
21
  it "creates a new node through Rest" do
22
- db.should_receive(:create_relationship).with("type", from, to, props)
22
+ expect(db).to receive(:create_relationship).with("type", from, to, props)
23
23
 
24
24
  Relationship.create("type", from, to, props)
25
25
  end
26
26
 
27
27
  it "assigns fields" do
28
- db.stub(:create_relationship).and_return(relationship_hash)
28
+ allow(db).to receive(:create_relationship).and_return(relationship_hash)
29
29
 
30
30
  rel = Relationship.create("type", from, to, props)
31
31
 
32
- rel.start_node.should == from
33
- rel.end_node.should == to
34
- rel.rel_type.should == "type"
32
+ expect(rel.start_node).to eq(from)
33
+ expect(rel.end_node).to eq(to)
34
+ expect(rel.rel_type).to eq("type")
35
35
  end
36
36
  end
37
37
 
@@ -41,22 +41,22 @@ module Neography
41
41
  before do
42
42
  # stub out actual connections
43
43
  @db = double(Rest).as_null_object
44
- Rest.stub(:new) { @db }
44
+ allow(Rest).to receive(:new) { @db }
45
45
  end
46
46
 
47
47
  it "load by id" do
48
- @db.should_receive(:get_relationship).with(5)
48
+ expect(@db).to receive(:get_relationship).with(5)
49
49
  Relationship.load(5)
50
50
  end
51
51
 
52
52
  it "loads by relationship" do
53
53
  relationship = Relationship.new(relationship_hash)
54
- @db.should_receive(:get_relationship).with(relationship)
54
+ expect(@db).to receive(:get_relationship).with(relationship)
55
55
  Relationship.load(relationship)
56
56
  end
57
57
 
58
58
  it "loads by full server string" do
59
- @db.should_receive(:get_relationship).with("http://localhost:7474/db/data/relationship/2")
59
+ expect(@db).to receive(:get_relationship).with("http://localhost:7474/db/data/relationship/2")
60
60
  Relationship.load("http://localhost:7474/db/data/relationship/2")
61
61
  end
62
62
 
@@ -66,7 +66,7 @@ module Neography
66
66
 
67
67
  it "cannot pass a server as the first argument, relationship as the second" do
68
68
  @other_server = Neography::Rest.new
69
- @other_server.should_not_receive(:get_relationship).with(42)
69
+ expect(@other_server).not_to receive(:get_relationship).with(42)
70
70
  expect {
71
71
  relationship = Relationship.load(@other_server, 42)
72
72
  }.to raise_error(ArgumentError)
@@ -74,7 +74,7 @@ module Neography
74
74
 
75
75
  it "can pass a relationship as the first argument, server as the second" do
76
76
  @other_server = Neography::Rest.new
77
- @other_server.should_receive(:get_relationship).with(42)
77
+ expect(@other_server).to receive(:get_relationship).with(42)
78
78
  relationship = Relationship.load(42, @other_server)
79
79
  end
80
80
 
@@ -84,13 +84,13 @@ module Neography
84
84
  describe "#del" do
85
85
 
86
86
  before do
87
- db.stub(:create_relationship) { relationship_hash }
87
+ allow(db).to receive(:create_relationship) { relationship_hash }
88
88
  end
89
89
 
90
90
  subject(:relationship) { Relationship.create("type", from, to, props) }
91
91
 
92
92
  it "deletes a node" do
93
- db.should_receive(:delete_relationship).with("0")
93
+ expect(db).to receive(:delete_relationship).with("0")
94
94
  relationship.del
95
95
  end
96
96
 
@@ -99,17 +99,17 @@ module Neography
99
99
  describe "#other_node" do
100
100
 
101
101
  before do
102
- db.stub(:create_relationship) { relationship_hash }
102
+ allow(db).to receive(:create_relationship) { relationship_hash }
103
103
  end
104
104
 
105
105
  subject(:relationship) { Relationship.create("type", from, to, props) }
106
106
 
107
107
  it "knows the other node based on from" do
108
- relationship.other_node(from).should == to
108
+ expect(relationship.other_node(from)).to eq(to)
109
109
  end
110
110
 
111
111
  it "knows the other node based on to" do
112
- relationship.other_node(to).should == from
112
+ expect(relationship.other_node(to)).to eq(from)
113
113
  end
114
114
 
115
115
  end