dupe 0.4.3 → 0.4.4
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +10 -0
- data/lib/dupe/dupe.rb +2 -2
- data/spec/lib_specs/dupe_spec.rb +20 -3
- metadata +2 -2
data/README.rdoc
CHANGED
@@ -28,6 +28,16 @@ Lastly, from your rails project root, run:
|
|
28
28
|
|
29
29
|
# script/generate dupe
|
30
30
|
|
31
|
+
That last command will create the following directories:
|
32
|
+
|
33
|
+
- RAILS_ROOT/features/dupe
|
34
|
+
- RAILS_ROOT/features/dupe/definitions
|
35
|
+
- RAILS_ROOT/features/dupe/custom_mocks
|
36
|
+
|
37
|
+
It will also place example Dupe definitions in RAILS_ROOT/features/dupe/definitions/definitions.rb as well as example custom mocks in RAILS_ROOT/features/dupe/custom_mocks/custom_mocks.rb
|
38
|
+
|
39
|
+
Lastly, it will add a load_dupe.rb file (that loads up the definitions and custom mocks) to RAILS_ROOT/features/support/load_dupe.rb
|
40
|
+
|
31
41
|
|
32
42
|
= Features
|
33
43
|
|
data/lib/dupe/dupe.rb
CHANGED
@@ -148,12 +148,12 @@ class Dupe
|
|
148
148
|
mocks = %{
|
149
149
|
network.define_service_mock(
|
150
150
|
:get,
|
151
|
-
%r{
|
151
|
+
%r{^#{model_name.to_s.titleize.constantize.prefix rescue '/'}#{model_name.to_s.pluralize}\\.xml$},
|
152
152
|
proc { Dupe.find(:#{model_name.to_s.pluralize}) }
|
153
153
|
)
|
154
154
|
network.define_service_mock(
|
155
155
|
:get,
|
156
|
-
%r{
|
156
|
+
%r{^#{model_name.to_s.titleize.constantize.prefix rescue '/'}#{model_name.to_s.pluralize}/(\\d+)\\.xml$},
|
157
157
|
proc {|id| Dupe.find(:#{model_name}) {|resource| resource.id == id.to_i}}
|
158
158
|
)
|
159
159
|
}
|
data/spec/lib_specs/dupe_spec.rb
CHANGED
@@ -113,7 +113,7 @@ describe Dupe do
|
|
113
113
|
Dupe.database.tables[:book].should == []
|
114
114
|
end
|
115
115
|
|
116
|
-
it "should add find(:all) and find(<id>) mocks to the
|
116
|
+
it "should add find(:all) and find(<id>) mocks to the network" do
|
117
117
|
Dupe.network.mocks[:get].should be_empty
|
118
118
|
Dupe.create :book
|
119
119
|
Dupe.network.mocks[:get].should_not be_empty
|
@@ -121,15 +121,32 @@ describe Dupe do
|
|
121
121
|
|
122
122
|
find_all_mock = Dupe.network.mocks[:get].first
|
123
123
|
find_all_mock.verb.should == :get
|
124
|
-
find_all_mock.url_pattern.should == %r{
|
124
|
+
find_all_mock.url_pattern.should == %r{^/books\.xml$}
|
125
125
|
find_all_mock.mocked_response('/books.xml').should == Dupe.find(:books).to_xml(:root => 'books')
|
126
126
|
|
127
127
|
find_one_mock = Dupe.network.mocks[:get].last
|
128
128
|
find_one_mock.verb.should == :get
|
129
|
-
find_one_mock.url_pattern.should == %r{
|
129
|
+
find_one_mock.url_pattern.should == %r{^/books/(\d+)\.xml$}
|
130
130
|
find_one_mock.mocked_response('/books/1.xml').should == Dupe.find(:book).to_xml(:root => 'book')
|
131
131
|
end
|
132
132
|
|
133
|
+
it "should honor ActiveResource site prefix's for the find(:all) and find(<id>) mocks" do
|
134
|
+
Dupe.network.mocks[:get].should be_empty
|
135
|
+
class Author < ActiveResource::Base; self.site='http://somewhere.com/book_services'; end
|
136
|
+
Dupe.create :author
|
137
|
+
Dupe.network.mocks[:get].should_not be_empty
|
138
|
+
Dupe.network.mocks[:get].length.should == 2
|
139
|
+
|
140
|
+
find_all_mock = Dupe.network.mocks[:get].first
|
141
|
+
find_all_mock.verb.should == :get
|
142
|
+
find_all_mock.url_pattern.should == %r{^/book_services/authors\.xml$}
|
143
|
+
find_all_mock.mocked_response('/book_services/authors.xml').should == Dupe.find(:authors).to_xml(:root => 'authors')
|
144
|
+
|
145
|
+
find_one_mock = Dupe.network.mocks[:get].last
|
146
|
+
find_one_mock.verb.should == :get
|
147
|
+
find_one_mock.url_pattern.should == %r{^/book_services/authors/(\d+)\.xml$}
|
148
|
+
find_one_mock.mocked_response('/book_services/authors/1.xml').should == Dupe.find(:author).to_xml(:root => 'author')
|
149
|
+
end
|
133
150
|
end
|
134
151
|
|
135
152
|
describe "create" do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dupe
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Parker
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-01-
|
12
|
+
date: 2010-01-03 00:00:00 -05:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|