motion-resource 0.0.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.
- data/.gitignore +9 -0
- data/Gemfile +8 -0
- data/README.md +53 -0
- data/Rakefile +14 -0
- data/app/app_delegate.rb +7 -0
- data/examples/Colr/.gitignore +13 -0
- data/examples/Colr/Rakefile +10 -0
- data/examples/Colr/app/app_delegate.rb +10 -0
- data/examples/Colr/app/color.rb +15 -0
- data/examples/Colr/app/color_view_controller.rb +46 -0
- data/examples/Colr/app/initializer.rb +2 -0
- data/examples/Colr/app/main_navigation_controller.rb +6 -0
- data/examples/Colr/app/tag.rb +5 -0
- data/examples/Colr/app/tags_view_controller.rb +23 -0
- data/lib/motion-resource.rb +5 -0
- data/lib/motion-resource/associations.rb +94 -0
- data/lib/motion-resource/attributes.rb +37 -0
- data/lib/motion-resource/base.rb +51 -0
- data/lib/motion-resource/crud.rb +33 -0
- data/lib/motion-resource/find.rb +67 -0
- data/lib/motion-resource/requests.rb +64 -0
- data/lib/motion-resource/string.rb +23 -0
- data/lib/motion-resource/urls.rb +29 -0
- data/lib/motion-resource/version.rb +3 -0
- data/motion-resource.gemspec +20 -0
- data/spec/env.rb +41 -0
- data/spec/motion-resource/associations/belongs_to_spec.rb +116 -0
- data/spec/motion-resource/associations/has_many_spec.rb +128 -0
- data/spec/motion-resource/associations/has_one_spec.rb +69 -0
- data/spec/motion-resource/associations/scope_spec.rb +21 -0
- data/spec/motion-resource/attributes_spec.rb +64 -0
- data/spec/motion-resource/base_spec.rb +54 -0
- data/spec/motion-resource/crud_spec.rb +141 -0
- data/spec/motion-resource/find_spec.rb +90 -0
- data/spec/motion-resource/requests_spec.rb +119 -0
- data/spec/motion-resource/string_spec.rb +26 -0
- data/spec/motion-resource/urls_spec.rb +52 -0
- metadata +140 -0
@@ -0,0 +1,69 @@
|
|
1
|
+
describe "has_one" do
|
2
|
+
extend WebStub::SpecHelpers
|
3
|
+
|
4
|
+
it "should define reader" do
|
5
|
+
User.new.should.respond_to :profile
|
6
|
+
end
|
7
|
+
|
8
|
+
it "should define writer" do
|
9
|
+
User.new.should.respond_to :profile=
|
10
|
+
end
|
11
|
+
|
12
|
+
it "should define reset method" do
|
13
|
+
User.new.should.respond_to :reset_profile
|
14
|
+
end
|
15
|
+
|
16
|
+
it "should by default return nil" do
|
17
|
+
User.new.profile.should.be.nil
|
18
|
+
end
|
19
|
+
|
20
|
+
it "should reset" do
|
21
|
+
user = User.new
|
22
|
+
user.profile = Profile.new
|
23
|
+
user.reset_profile
|
24
|
+
user.profile.should.be.nil
|
25
|
+
end
|
26
|
+
|
27
|
+
describe "writer" do
|
28
|
+
it "should create model when assigned with hash" do
|
29
|
+
user = User.new
|
30
|
+
user.profile = { :id => 1, :name => 'John', :email => 'doe@example.com' }
|
31
|
+
user.profile.should.is_a Profile
|
32
|
+
end
|
33
|
+
|
34
|
+
it "should set attributes when assigned with hash" do
|
35
|
+
user = User.new
|
36
|
+
user.profile = { :id => 1, :name => 'John', :email => 'doe@example.com' }
|
37
|
+
user.profile.name.should == 'John'
|
38
|
+
user.profile.email.should == 'doe@example.com'
|
39
|
+
end
|
40
|
+
|
41
|
+
it "should use identity map when assigned with hash" do
|
42
|
+
profile = Profile.instantiate(:id => 10)
|
43
|
+
user = User.new
|
44
|
+
user.profile = { :id => 10 }
|
45
|
+
user.profile.should == profile
|
46
|
+
end
|
47
|
+
|
48
|
+
it "should act like a regular setter when assigned with object" do
|
49
|
+
profile = Profile.new
|
50
|
+
user = User.new
|
51
|
+
user.profile = profile
|
52
|
+
user.profile.should == profile
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
describe "piggybacking" do
|
57
|
+
it "should set association when returned with model" do
|
58
|
+
stub_request(:get, "http://example.com/users/1.json").to_return(json: { id: 1, profile: { id: 2, name: 'John' } })
|
59
|
+
User.find(1) do |result|
|
60
|
+
@result = result
|
61
|
+
resume
|
62
|
+
end
|
63
|
+
|
64
|
+
wait_max 1.0 do
|
65
|
+
@result.profile.name.should == 'John'
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
describe "scope" do
|
2
|
+
extend WebStub::SpecHelpers
|
3
|
+
|
4
|
+
it "should define a custom url" do
|
5
|
+
Comment.should.respond_to :recent_url
|
6
|
+
end
|
7
|
+
|
8
|
+
it "should fetch collection" do
|
9
|
+
stub_request(:get, "http://example.com/comments/recent.json").to_return(json: [{ id: 1, text: 'Whats up?' }])
|
10
|
+
|
11
|
+
Comment.recent do |results|
|
12
|
+
@results = results
|
13
|
+
resume
|
14
|
+
end
|
15
|
+
|
16
|
+
wait_max 1.0 do
|
17
|
+
@results.size.should == 1
|
18
|
+
@results.first.text.should == 'Whats up?'
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
describe "attributes" do
|
2
|
+
it "should define reader per attribute" do
|
3
|
+
Shape.new.should.respond_to :contents
|
4
|
+
end
|
5
|
+
|
6
|
+
it "should define writer per attribute" do
|
7
|
+
Shape.new.should.respond_to :contents=
|
8
|
+
end
|
9
|
+
|
10
|
+
it "should duplicate array in setter" do
|
11
|
+
contents = ['hello']
|
12
|
+
shape = Shape.new
|
13
|
+
shape.contents = contents
|
14
|
+
shape.contents.object_id.should != contents.object_id
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should duplicate hash in setter" do
|
18
|
+
contents = { :foo => 'bar' }
|
19
|
+
shape = Shape.new
|
20
|
+
shape.contents = contents
|
21
|
+
shape.contents.should.not.be.identical_to contents
|
22
|
+
end
|
23
|
+
|
24
|
+
it "should behave regularly for other values in setter" do
|
25
|
+
shape = Shape.new
|
26
|
+
shape.contents = "hello"
|
27
|
+
shape.contents.should == "hello"
|
28
|
+
end
|
29
|
+
|
30
|
+
it "should store attribute names in accessor" do
|
31
|
+
Shape.attributes.should.include :contents
|
32
|
+
end
|
33
|
+
|
34
|
+
it "should inherit attribute names from parent class" do
|
35
|
+
Rectangle.attributes.should.include :contents
|
36
|
+
Rectangle.attributes.should.include :size
|
37
|
+
end
|
38
|
+
|
39
|
+
it "should get hash of all attributes from instance" do
|
40
|
+
shape = Shape.new
|
41
|
+
shape.contents = "hello"
|
42
|
+
shape.attributes[:contents].should == "hello"
|
43
|
+
end
|
44
|
+
|
45
|
+
describe "update_attributes" do
|
46
|
+
it "should set attr_accessors" do
|
47
|
+
time = Time.now
|
48
|
+
shape = Shape.new
|
49
|
+
shape.update_attributes(:created_at => time)
|
50
|
+
shape.created_at.should == time
|
51
|
+
end
|
52
|
+
|
53
|
+
it "should set attributes" do
|
54
|
+
shape = Shape.new
|
55
|
+
shape.update_attributes(:position => "10,10")
|
56
|
+
shape.position.should == "10,10"
|
57
|
+
end
|
58
|
+
|
59
|
+
it "should not crash when updating an unknown attribute" do
|
60
|
+
shape = Shape.new
|
61
|
+
lambda { shape.update_attributes(:foo => 'bar') }.should.not.raise
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
describe "base" do
|
2
|
+
it "should define the id method" do
|
3
|
+
Post.new.should.respond_to :id
|
4
|
+
end
|
5
|
+
|
6
|
+
it "should set new_record to true when calling new" do
|
7
|
+
Post.new.should.be.new_record
|
8
|
+
end
|
9
|
+
|
10
|
+
it "should set attributes when given a hash in new" do
|
11
|
+
post = Post.new(:text => 'hello')
|
12
|
+
post.text.should == 'hello'
|
13
|
+
end
|
14
|
+
|
15
|
+
describe "instantiate" do
|
16
|
+
it "should raise an exception if no ID is given" do
|
17
|
+
lambda { Shape.instantiate({}) }.should.raise(ArgumentError)
|
18
|
+
end
|
19
|
+
|
20
|
+
it "should instantiate concrete type if given in json" do
|
21
|
+
shape = Shape.instantiate(:id => 1, :type => 'Rectangle')
|
22
|
+
shape.should.is_a Rectangle
|
23
|
+
end
|
24
|
+
|
25
|
+
it "should instantiate base type if concrete type does not exist" do
|
26
|
+
shape = Shape.instantiate(:id => 2, :type => 'FuzzyCircle')
|
27
|
+
shape.should.is_a Shape
|
28
|
+
end
|
29
|
+
|
30
|
+
it "should instantiate base type if no type given in json" do
|
31
|
+
shape = Shape.instantiate(:id => 3)
|
32
|
+
shape.should.is_a Shape
|
33
|
+
shape.should.not.is_a Rectangle
|
34
|
+
end
|
35
|
+
|
36
|
+
it "should set new_record to false" do
|
37
|
+
shape = Shape.instantiate(:id => 4)
|
38
|
+
shape.should.not.be.new_record
|
39
|
+
end
|
40
|
+
|
41
|
+
it "should remember instance" do
|
42
|
+
Shape.recall(5).should.be.nil
|
43
|
+
shape = Shape.instantiate(:id => 5)
|
44
|
+
Shape.recall(5).should.not.be.nil
|
45
|
+
end
|
46
|
+
|
47
|
+
it "should update existing instance" do
|
48
|
+
shape1 = Shape.instantiate(:id => 6, :contents => 'nothing')
|
49
|
+
shape2 = Shape.instantiate(:id => 6, :contents => 'something')
|
50
|
+
shape1.should.be.identical_to shape2
|
51
|
+
shape1.contents.should == 'something'
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,141 @@
|
|
1
|
+
describe "crud" do
|
2
|
+
extend WebStub::SpecHelpers
|
3
|
+
|
4
|
+
describe "create" do
|
5
|
+
it "should create on save if record is new" do
|
6
|
+
stub_request(:post, "http://example.com/comments.json").to_return(json: { id: 1 })
|
7
|
+
comment = Comment.new
|
8
|
+
comment.save do |result|
|
9
|
+
@result = result
|
10
|
+
resume
|
11
|
+
end
|
12
|
+
|
13
|
+
wait_max 1.0 do
|
14
|
+
@result.should.not.be.nil
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should create with json in response" do
|
19
|
+
stub_request(:post, "http://example.com/comments.json").to_return(json: { id: 1 })
|
20
|
+
comment = Comment.new
|
21
|
+
comment.create do |result|
|
22
|
+
@result = result
|
23
|
+
resume
|
24
|
+
end
|
25
|
+
|
26
|
+
wait_max 1.0 do
|
27
|
+
@result.should.not.be.nil
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should create without json in response" do
|
32
|
+
stub_request(:post, "http://example.com/comments.json").to_return(body: "")
|
33
|
+
comment = Comment.new
|
34
|
+
comment.create do |result|
|
35
|
+
@result = result
|
36
|
+
resume
|
37
|
+
end
|
38
|
+
|
39
|
+
wait_max 1.0 do
|
40
|
+
@result.should.be.nil
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
describe "update" do
|
46
|
+
it "should update on save if record already exists" do
|
47
|
+
stub_request(:put, "http://example.com/comments/10.json").to_return(json: { id: 10 })
|
48
|
+
comment = Comment.instantiate(:id => 10)
|
49
|
+
comment.save do |result|
|
50
|
+
@result = result
|
51
|
+
resume
|
52
|
+
end
|
53
|
+
|
54
|
+
wait_max 1.0 do
|
55
|
+
@result.should.not.be.nil
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
it "should update with json in response" do
|
60
|
+
stub_request(:put, "http://example.com/comments/10.json").to_return(json: { id: 10 })
|
61
|
+
comment = Comment.instantiate(:id => 10)
|
62
|
+
comment.update do |result|
|
63
|
+
@result = result
|
64
|
+
resume
|
65
|
+
end
|
66
|
+
|
67
|
+
wait_max 1.0 do
|
68
|
+
@result.should.not.be.nil
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
it "should update without json in response" do
|
73
|
+
stub_request(:put, "http://example.com/comments/10.json").to_return(body: "")
|
74
|
+
comment = Comment.instantiate(:id => 10)
|
75
|
+
comment.update do |result|
|
76
|
+
@result = result
|
77
|
+
resume
|
78
|
+
end
|
79
|
+
|
80
|
+
wait_max 1.0 do
|
81
|
+
@result.should.be.nil
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
describe "destroy" do
|
87
|
+
it "should destroy with json in response" do
|
88
|
+
stub_request(:delete, "http://example.com/comments/10.json").to_return(json: { id: 10 })
|
89
|
+
comment = Comment.instantiate(:id => 10)
|
90
|
+
comment.destroy do |result|
|
91
|
+
@result = result
|
92
|
+
resume
|
93
|
+
end
|
94
|
+
|
95
|
+
wait_max 1.0 do
|
96
|
+
@result.should.not.be.nil
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
100
|
+
it "should destroy without json in response" do
|
101
|
+
stub_request(:delete, "http://example.com/comments/10.json").to_return(body: "")
|
102
|
+
comment = Comment.instantiate(:id => 10)
|
103
|
+
comment.destroy do |result|
|
104
|
+
@result = result
|
105
|
+
resume
|
106
|
+
end
|
107
|
+
|
108
|
+
wait_max 1.0 do
|
109
|
+
@result.should.be.nil
|
110
|
+
end
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
describe "reload" do
|
115
|
+
it "should reload with json in response" do
|
116
|
+
stub_request(:get, "http://example.com/comments/10.json").to_return(json: { id: 10 })
|
117
|
+
comment = Comment.instantiate(:id => 10)
|
118
|
+
comment.reload do |result|
|
119
|
+
@result = result
|
120
|
+
resume
|
121
|
+
end
|
122
|
+
|
123
|
+
wait_max 1.0 do
|
124
|
+
@result.should.not.be.nil
|
125
|
+
end
|
126
|
+
end
|
127
|
+
|
128
|
+
it "should reload without json in response" do
|
129
|
+
stub_request(:get, "http://example.com/comments/10.json").to_return(body: "")
|
130
|
+
comment = Comment.instantiate(:id => 10)
|
131
|
+
comment.reload do |result|
|
132
|
+
@result = result
|
133
|
+
resume
|
134
|
+
end
|
135
|
+
|
136
|
+
wait_max 1.0 do
|
137
|
+
@result.should.be.nil
|
138
|
+
end
|
139
|
+
end
|
140
|
+
end
|
141
|
+
end
|
@@ -0,0 +1,90 @@
|
|
1
|
+
describe "find" do
|
2
|
+
extend WebStub::SpecHelpers
|
3
|
+
|
4
|
+
it "should find single record" do
|
5
|
+
stub_request(:get, "http://example.com/comments/10.json").to_return(json: { id: 10 })
|
6
|
+
Comment.find(10) do |result|
|
7
|
+
@result = result
|
8
|
+
resume
|
9
|
+
end
|
10
|
+
|
11
|
+
wait_max 1.0 do
|
12
|
+
@result.should.is_a Comment
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
it "should find collection" do
|
17
|
+
stub_request(:get, "http://example.com/comments.json").to_return(json: [{ id: 10 }])
|
18
|
+
Comment.find_all do |result|
|
19
|
+
@result = result
|
20
|
+
resume
|
21
|
+
end
|
22
|
+
|
23
|
+
wait_max 1.0 do
|
24
|
+
@result.should.is_a Array
|
25
|
+
@result.first.should.is_a Comment
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
it "should fetch member with custom URL" do
|
30
|
+
stub_request(:get, "http://example.com/foo.json").to_return(json: { id: 10 })
|
31
|
+
Comment.fetch_member("foo") do |result|
|
32
|
+
@result = result
|
33
|
+
resume
|
34
|
+
end
|
35
|
+
|
36
|
+
wait_max 1.0 do
|
37
|
+
@result.should.is_a Comment
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
it "should give nil object if fetching single member fails" do
|
42
|
+
stub_request(:get, "http://example.com/foo.json").to_return(status_code: 404)
|
43
|
+
Comment.fetch_member("foo") do |result|
|
44
|
+
@result = result
|
45
|
+
resume
|
46
|
+
end
|
47
|
+
|
48
|
+
wait_max 1.0 do
|
49
|
+
@result.should.be.nil
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
it "should fetch collection with custom URL" do
|
54
|
+
stub_request(:get, "http://example.com/bar.json").to_return(json: [{ id: 10 }])
|
55
|
+
Comment.fetch_collection("bar") do |result|
|
56
|
+
@result = result
|
57
|
+
resume
|
58
|
+
end
|
59
|
+
|
60
|
+
wait_max 1.0 do
|
61
|
+
@result.should.is_a Array
|
62
|
+
@result.first.should.is_a Comment
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
it "should allow hash JSON response with model name as root" do
|
67
|
+
stub_request(:get, "http://example.com/bar.json").to_return(json: { comments: [{ id: 10 }] })
|
68
|
+
Comment.fetch_collection("bar") do |result|
|
69
|
+
@result = result
|
70
|
+
resume
|
71
|
+
end
|
72
|
+
|
73
|
+
wait_max 1.0 do
|
74
|
+
@result.should.is_a Array
|
75
|
+
@result.first.should.is_a Comment
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
it "should give nil object if fetching collection fails" do
|
80
|
+
stub_request(:get, "http://example.com/bar.json").to_return(status_code: 404)
|
81
|
+
Comment.fetch_collection("bar") do |result|
|
82
|
+
@result = result
|
83
|
+
resume
|
84
|
+
end
|
85
|
+
|
86
|
+
wait_max 1.0 do
|
87
|
+
@result.should.be.nil
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
@@ -0,0 +1,119 @@
|
|
1
|
+
describe "requests" do
|
2
|
+
extend WebStub::SpecHelpers
|
3
|
+
|
4
|
+
it "should define GET method on instance and class" do
|
5
|
+
Comment.new.should.respond_to :get
|
6
|
+
Comment.should.respond_to :get
|
7
|
+
end
|
8
|
+
|
9
|
+
it "should define POST method on instance and class" do
|
10
|
+
Comment.new.should.respond_to :post
|
11
|
+
Comment.should.respond_to :post
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should define PUT method on instance and class" do
|
15
|
+
Comment.new.should.respond_to :put
|
16
|
+
Comment.should.respond_to :put
|
17
|
+
end
|
18
|
+
|
19
|
+
it "should define DELETE method on instance and class" do
|
20
|
+
Comment.new.should.respond_to :delete
|
21
|
+
Comment.should.respond_to :delete
|
22
|
+
end
|
23
|
+
|
24
|
+
it "should add query string" do
|
25
|
+
stub_request(:get, "http://example.com/comments/10.json?foo=bar").to_return(json: { id: 10 })
|
26
|
+
Comment.new.get("comments/10", :query => { :foo => 'bar' }) do |response, json|
|
27
|
+
@result = json
|
28
|
+
resume
|
29
|
+
end
|
30
|
+
|
31
|
+
wait_max 1.0 do
|
32
|
+
@result.should.not.be.nil
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
it "should parse JSON in response" do
|
37
|
+
stub_request(:get, "http://example.com/comments/10.json").to_return(json: { id: 10, foo: 'bar' })
|
38
|
+
Comment.new.get("comments/10") do |response, json|
|
39
|
+
@result = json
|
40
|
+
resume
|
41
|
+
end
|
42
|
+
|
43
|
+
wait_max 1.0 do
|
44
|
+
@result.should == { "id" => 10, "foo" => "bar" }
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
it "should yield empty hash if response is blank" do
|
49
|
+
stub_request(:get, "http://example.com/comments/10.json").to_return(body: "")
|
50
|
+
Comment.new.get("comments/10") do |response, json|
|
51
|
+
@result = json
|
52
|
+
resume
|
53
|
+
end
|
54
|
+
|
55
|
+
wait_max 1.0 do
|
56
|
+
@result.should == {}
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
it "should yield nil if response is not ok" do
|
61
|
+
stub_request(:get, "http://example.com/comments/10.json").to_return(status_code: 404)
|
62
|
+
Comment.new.get("comments/10") do |response, json|
|
63
|
+
@result = json
|
64
|
+
resume
|
65
|
+
end
|
66
|
+
|
67
|
+
wait_max 1.0 do
|
68
|
+
@result.should.be.nil
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
it "should get attributes" do
|
73
|
+
stub_request(:get, "http://example.com/comments/10.json").to_return(json: { id: 10, text: "Hello" })
|
74
|
+
Comment.new.get("comments/10") do |response, json|
|
75
|
+
@result = json
|
76
|
+
resume
|
77
|
+
end
|
78
|
+
|
79
|
+
wait_max 1.0 do
|
80
|
+
@result["text"].should == "Hello"
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
it "should post" do
|
85
|
+
stub_request(:post, "http://example.com/comments.json").to_return(json: { id: 10 })
|
86
|
+
Comment.post("comments") do |response, json|
|
87
|
+
@result = json
|
88
|
+
resume
|
89
|
+
end
|
90
|
+
|
91
|
+
wait_max 1.0 do
|
92
|
+
@result.should.not.be.nil
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
it "should put" do
|
97
|
+
stub_request(:put, "http://example.com/comments/10.json").to_return(json: { id: 10 })
|
98
|
+
Comment.new.put("comments/10") do |response, json|
|
99
|
+
@result = json
|
100
|
+
resume
|
101
|
+
end
|
102
|
+
|
103
|
+
wait_max 1.0 do
|
104
|
+
@result.should.not.be.nil
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
it "should delete" do
|
109
|
+
stub_request(:delete, "http://example.com/comments/10.json").to_return(json: { id: 10 })
|
110
|
+
Comment.new.delete("comments/10") do |response, json|
|
111
|
+
@result = json
|
112
|
+
resume
|
113
|
+
end
|
114
|
+
|
115
|
+
wait_max 1.0 do
|
116
|
+
@result.should.not.be.nil
|
117
|
+
end
|
118
|
+
end
|
119
|
+
end
|