napcs-pivotalrecord 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/README.rdoc +31 -0
- data/Rakefile +121 -0
- data/lib/pivotal.rb +10 -0
- data/lib/pivotal/base.rb +155 -0
- data/lib/pivotal/configuration.rb +11 -0
- data/lib/pivotal/iteration.rb +21 -0
- data/lib/pivotal/project.rb +19 -0
- data/lib/pivotal/story.rb +30 -0
- data/spec/pivotal/iteration_spec.rb +357 -0
- data/spec/pivotal/project_spec.rb +317 -0
- data/spec/pivotal/story_spec.rb +243 -0
- data/spec/spec.opts +1 -0
- data/spec/spec_helper.rb +17 -0
- metadata +108 -0
@@ -0,0 +1,317 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), "/../spec_helper")
|
2
|
+
|
3
|
+
describe Pivotal::Project do
|
4
|
+
before(:each) do
|
5
|
+
@service = "http://www.pivotaltracker.com/services/v2"
|
6
|
+
@token = "abcd"
|
7
|
+
Pivotal::Configuration.options[:api_key] = @token
|
8
|
+
FakeWeb.clean_registry
|
9
|
+
FakeWeb.allow_net_connect = false
|
10
|
+
end
|
11
|
+
|
12
|
+
after(:each) do
|
13
|
+
FakeWeb.clean_registry
|
14
|
+
FakeWeb.allow_net_connect = true
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should create a new instance" do
|
18
|
+
p = Pivotal::Project.new "name" => "Hello", "id" => "1234"
|
19
|
+
p.name.should == "Hello"
|
20
|
+
p.id.should == "1234"
|
21
|
+
end
|
22
|
+
|
23
|
+
describe "with a project" do
|
24
|
+
|
25
|
+
before(:each) do
|
26
|
+
xml = %Q{<?xml version="1.0" encoding="UTF-8"?>
|
27
|
+
<project>
|
28
|
+
<id>4860</id>
|
29
|
+
<name>FeelMySkills</name>
|
30
|
+
<iteration_length type="integer">1</iteration_length>
|
31
|
+
<week_start_day>Monday</week_start_day>
|
32
|
+
<point_scale>0,1,2,3</point_scale>
|
33
|
+
</project>}
|
34
|
+
url = "#{@service}/projects/4860?token=#{@token}"
|
35
|
+
FakeWeb.register_uri(:get, url, :string => xml, :content_type => "application/xml", :status => ["200", "OK"])
|
36
|
+
|
37
|
+
end
|
38
|
+
it "should get the project" do
|
39
|
+
p = Pivotal::Project.find_by_id(4860)
|
40
|
+
p.name.should == "FeelMySkills"
|
41
|
+
end
|
42
|
+
|
43
|
+
describe "stories" do
|
44
|
+
before(:each) do
|
45
|
+
xml = %Q{<?xml version="1.0" encoding="UTF-8"?>
|
46
|
+
<stories type="array" count="14" total="14">
|
47
|
+
<story>
|
48
|
+
<id type="integer">300970</id>
|
49
|
+
<story_type>release</story_type>
|
50
|
+
<url>http://www.pivotaltracker.com/story/show/300970</url>
|
51
|
+
<current_state>accepted</current_state>
|
52
|
+
<description></description>
|
53
|
+
<name>rel_1-1-5</name>
|
54
|
+
<requested_by>Brian Hogan</requested_by>
|
55
|
+
<created_at type="datetime">2008/12/04 03:00:57 UTC</created_at>
|
56
|
+
<accepted_at type="datetime">2009/01/14 06:32:15 UTC</accepted_at>
|
57
|
+
<deadline type="datetime">2008/12/12 20:00:00 UTC</deadline>
|
58
|
+
<iteration>
|
59
|
+
<number>1</number>
|
60
|
+
<start type="datetime">2009/01/12 00:00:00 UTC</start>
|
61
|
+
<finish type="datetime">2009/01/19 00:00:00 UTC</finish>
|
62
|
+
</iteration>
|
63
|
+
</story>
|
64
|
+
<story>
|
65
|
+
<id type="integer">302045</id>
|
66
|
+
<story_type>bug</story_type>
|
67
|
+
<url>http://www.pivotaltracker.com/story/show/302045</url>
|
68
|
+
<current_state>accepted</current_state>
|
69
|
+
<description>CSS stylesheets for greybox are still referenced in templates causing errors in the logs</description>
|
70
|
+
<name>Remove references to Greybox</name>
|
71
|
+
<requested_by>Brian Hogan</requested_by>
|
72
|
+
<owned_by>Brian Hogan</owned_by>
|
73
|
+
<created_at type="datetime">2008/12/04 18:46:43 UTC</created_at>
|
74
|
+
<accepted_at type="datetime">2009/01/19 17:22:53 UTC</accepted_at>
|
75
|
+
<iteration>
|
76
|
+
<number>2</number>
|
77
|
+
<start type="datetime">2009/01/19 00:00:00 UTC</start>
|
78
|
+
<finish type="datetime">2009/01/26 00:00:00 UTC</finish>
|
79
|
+
</iteration>
|
80
|
+
</story>
|
81
|
+
<story>
|
82
|
+
<id type="integer">300931</id>
|
83
|
+
<story_type>bug</story_type>
|
84
|
+
<url>http://www.pivotaltracker.com/story/show/300931</url>
|
85
|
+
<current_state>accepted</current_state>
|
86
|
+
<description>The home page has no title set.</description>
|
87
|
+
<name>Get a title on the home page</name>
|
88
|
+
<requested_by>Brian Hogan</requested_by>
|
89
|
+
<owned_by>Brian Hogan</owned_by>
|
90
|
+
<created_at type="datetime">2008/12/04 02:22:00 UTC</created_at>
|
91
|
+
<accepted_at type="datetime">2009/01/19 17:23:11 UTC</accepted_at>
|
92
|
+
<iteration>
|
93
|
+
<number>2</number>
|
94
|
+
<start type="datetime">2009/01/19 00:00:00 UTC</start>
|
95
|
+
<finish type="datetime">2009/01/26 00:00:00 UTC</finish>
|
96
|
+
</iteration>
|
97
|
+
</story>
|
98
|
+
<story>
|
99
|
+
<id type="integer">300939</id>
|
100
|
+
<story_type>feature</story_type>
|
101
|
+
<url>http://www.pivotaltracker.com/story/show/300939</url>
|
102
|
+
<estimate type="integer">1</estimate>
|
103
|
+
<current_state>started</current_state>
|
104
|
+
<description>Images need to be linked and modalbox needs testing in other browsers besides FF and Safari.</description>
|
105
|
+
<name>Finish modalbox implementation</name>
|
106
|
+
<requested_by>Brian Hogan</requested_by>
|
107
|
+
<owned_by>Brian Hogan</owned_by>
|
108
|
+
<created_at type="datetime">2008/12/04 02:33:33 UTC</created_at>
|
109
|
+
<iteration>
|
110
|
+
<number>28</number>
|
111
|
+
<start type="datetime">2009/07/20 00:00:00 UTC</start>
|
112
|
+
<finish type="datetime">2009/07/27 00:00:00 UTC</finish>
|
113
|
+
</iteration>
|
114
|
+
</story>
|
115
|
+
<story>
|
116
|
+
<id type="integer">300495</id>
|
117
|
+
<story_type>feature</story_type>
|
118
|
+
<url>http://www.pivotaltracker.com/story/show/300495</url>
|
119
|
+
<estimate type="integer">3</estimate>
|
120
|
+
<current_state>started</current_state>
|
121
|
+
<description>Choose an item, edit it, and notice that the dropdown for file / url is not selected on load, causing the file or url field to not display.</description>
|
122
|
+
<name>Editing an item does not select the correct type</name>
|
123
|
+
<requested_by>Brian Hogan</requested_by>
|
124
|
+
<owned_by>Brian Hogan</owned_by>
|
125
|
+
<created_at type="datetime">2008/12/04 01:55:39 UTC</created_at>
|
126
|
+
<iteration>
|
127
|
+
<number>28</number>
|
128
|
+
<start type="datetime">2009/07/20 00:00:00 UTC</start>
|
129
|
+
<finish type="datetime">2009/07/27 00:00:00 UTC</finish>
|
130
|
+
</iteration>
|
131
|
+
</story>
|
132
|
+
<story>
|
133
|
+
<id type="integer">300423</id>
|
134
|
+
<story_type>feature</story_type>
|
135
|
+
<url>http://www.pivotaltracker.com/story/show/300423</url>
|
136
|
+
<estimate type="integer">3</estimate>
|
137
|
+
<current_state>started</current_state>
|
138
|
+
<description>A profile should be viewable using the iPhone or Touch.
|
139
|
+
The profile page should link to the portfolios.
|
140
|
+
items should display within the portfolios.</description>
|
141
|
+
<name>iPhone interface for viewing profiles</name>
|
142
|
+
<requested_by>Brian Hogan</requested_by>
|
143
|
+
<owned_by>Brian Hogan</owned_by>
|
144
|
+
<created_at type="datetime">2008/12/04 01:48:53 UTC</created_at>
|
145
|
+
<iteration>
|
146
|
+
<number>28</number>
|
147
|
+
<start type="datetime">2009/07/20 00:00:00 UTC</start>
|
148
|
+
<finish type="datetime">2009/07/27 00:00:00 UTC</finish>
|
149
|
+
</iteration>
|
150
|
+
</story>
|
151
|
+
<story>
|
152
|
+
<id type="integer">300923</id>
|
153
|
+
<story_type>feature</story_type>
|
154
|
+
<url>http://www.pivotaltracker.com/story/show/300923</url>
|
155
|
+
<estimate type="integer">1</estimate>
|
156
|
+
<current_state>unstarted</current_state>
|
157
|
+
<description>Add a "contact us" form that sends an email</description>
|
158
|
+
<name>Contact Us form</name>
|
159
|
+
<requested_by>Brian Hogan</requested_by>
|
160
|
+
<created_at type="datetime">2008/12/04 02:14:51 UTC</created_at>
|
161
|
+
<iteration>
|
162
|
+
<number>28</number>
|
163
|
+
<start type="datetime">2009/07/20 00:00:00 UTC</start>
|
164
|
+
<finish type="datetime">2009/07/27 00:00:00 UTC</finish>
|
165
|
+
</iteration>
|
166
|
+
</story>
|
167
|
+
<story>
|
168
|
+
<id type="integer">300518</id>
|
169
|
+
<story_type>feature</story_type>
|
170
|
+
<url>http://www.pivotaltracker.com/story/show/300518</url>
|
171
|
+
<estimate type="integer">1</estimate>
|
172
|
+
<current_state>unstarted</current_state>
|
173
|
+
<description>Add a send to friend link on portfolios</description>
|
174
|
+
<name>Send To Friend linke</name>
|
175
|
+
<requested_by>Brian Hogan</requested_by>
|
176
|
+
<created_at type="datetime">2008/12/04 01:57:22 UTC</created_at>
|
177
|
+
<iteration>
|
178
|
+
<number>28</number>
|
179
|
+
<start type="datetime">2009/07/20 00:00:00 UTC</start>
|
180
|
+
<finish type="datetime">2009/07/27 00:00:00 UTC</finish>
|
181
|
+
</iteration>
|
182
|
+
</story>
|
183
|
+
<story>
|
184
|
+
<id type="integer">306550</id>
|
185
|
+
<story_type>feature</story_type>
|
186
|
+
<url>http://www.pivotaltracker.com/story/show/306550</url>
|
187
|
+
<estimate type="integer">1</estimate>
|
188
|
+
<current_state>unscheduled</current_state>
|
189
|
+
<description>"less than one year" looks kinda funny. Can we do months instead?</description>
|
190
|
+
<name>Show months for skills less than one year</name>
|
191
|
+
<requested_by>Brian Hogan</requested_by>
|
192
|
+
<created_at type="datetime">2008/12/09 17:28:40 UTC</created_at>
|
193
|
+
</story>
|
194
|
+
<story>
|
195
|
+
<id type="integer">300932</id>
|
196
|
+
<story_type>feature</story_type>
|
197
|
+
<url>http://www.pivotaltracker.com/story/show/300932</url>
|
198
|
+
<estimate type="integer">1</estimate>
|
199
|
+
<current_state>unscheduled</current_state>
|
200
|
+
<description></description>
|
201
|
+
<name>Add meta tags to pro accounts</name>
|
202
|
+
<requested_by>Brian Hogan</requested_by>
|
203
|
+
<created_at type="datetime">2008/12/04 02:22:36 UTC</created_at>
|
204
|
+
</story>
|
205
|
+
<story>
|
206
|
+
<id type="integer">300927</id>
|
207
|
+
<story_type>feature</story_type>
|
208
|
+
<url>http://www.pivotaltracker.com/story/show/300927</url>
|
209
|
+
<estimate type="integer">3</estimate>
|
210
|
+
<current_state>unscheduled</current_state>
|
211
|
+
<description>Allow people to buy an annual subscription for a pro account. use paypal for this first iteration. Payments should be $25 a year for pro accounts. Look into recurring billing.</description>
|
212
|
+
<name>Implement Pro account subscription</name>
|
213
|
+
<requested_by>Brian Hogan</requested_by>
|
214
|
+
<created_at type="datetime">2008/12/04 02:19:59 UTC</created_at>
|
215
|
+
</story>
|
216
|
+
<story>
|
217
|
+
<id type="integer">300924</id>
|
218
|
+
<story_type>feature</story_type>
|
219
|
+
<url>http://www.pivotaltracker.com/story/show/300924</url>
|
220
|
+
<estimate type="integer">1</estimate>
|
221
|
+
<current_state>unscheduled</current_state>
|
222
|
+
<description></description>
|
223
|
+
<name>Implement Exception Notification plugin</name>
|
224
|
+
<requested_by>Brian Hogan</requested_by>
|
225
|
+
<created_at type="datetime">2008/12/04 02:15:15 UTC</created_at>
|
226
|
+
</story>
|
227
|
+
<story>
|
228
|
+
<id type="integer">300800</id>
|
229
|
+
<story_type>feature</story_type>
|
230
|
+
<url>http://www.pivotaltracker.com/story/show/300800</url>
|
231
|
+
<estimate type="integer">3</estimate>
|
232
|
+
<current_state>unscheduled</current_state>
|
233
|
+
<description>Request recommendations from people. People receive an email asking for the recommendation. A link in the email takes them to a special URL where they enter a plain-text recommendation. They can also opt out of making the recommendation. Opting out reduces the skill score by 1000 points. Recommendations are worth 1000 points each.</description>
|
234
|
+
<name>Add Recommendations</name>
|
235
|
+
<requested_by>Brian Hogan</requested_by>
|
236
|
+
<created_at type="datetime">2008/12/04 02:14:16 UTC</created_at>
|
237
|
+
</story>
|
238
|
+
<story>
|
239
|
+
<id type="integer">300472</id>
|
240
|
+
<story_type>feature</story_type>
|
241
|
+
<url>http://www.pivotaltracker.com/story/show/300472</url>
|
242
|
+
<estimate type="integer">1</estimate>
|
243
|
+
<current_state>unscheduled</current_state>
|
244
|
+
<description>Web site thumbnails are coming from Thumbalizer. Should we make a method to fetch those images and store them locally? </description>
|
245
|
+
<name>Deal with web thumbnails</name>
|
246
|
+
<requested_by>Brian Hogan</requested_by>
|
247
|
+
<created_at type="datetime">2008/12/04 01:53:56 UTC</created_at>
|
248
|
+
</story>
|
249
|
+
</stories>}
|
250
|
+
url = "#{@service}/projects/4860/stories?token=#{@token}"
|
251
|
+
FakeWeb.register_uri(:get, url, :string => xml, :content_type => "application/xml", :status => ["200", "OK"])
|
252
|
+
@project = Pivotal::Project.new("id" => "4860", :name => "FeelMySkills")
|
253
|
+
|
254
|
+
end
|
255
|
+
|
256
|
+
it "should get stories" do
|
257
|
+
@project.stories.should_not == []
|
258
|
+
end
|
259
|
+
|
260
|
+
end
|
261
|
+
|
262
|
+
end
|
263
|
+
|
264
|
+
describe "With projects" do
|
265
|
+
|
266
|
+
before(:each) do
|
267
|
+
|
268
|
+
xml = %Q{<?xml version="1.0" encoding="UTF-8"?>
|
269
|
+
<projects type="array">
|
270
|
+
<project>
|
271
|
+
<id>4860</id>
|
272
|
+
<name>FeelMySkills</name>
|
273
|
+
<iteration_length type="integer">1</iteration_length>
|
274
|
+
<week_start_day>Monday</week_start_day>
|
275
|
+
<point_scale>0,1,2,3</point_scale>
|
276
|
+
</project>
|
277
|
+
<project>
|
278
|
+
<id>20273</id>
|
279
|
+
<name>Rails Mentors</name>
|
280
|
+
<iteration_length type="integer">1</iteration_length>
|
281
|
+
<week_start_day>Monday</week_start_day>
|
282
|
+
<point_scale>0,1,2,3</point_scale>
|
283
|
+
</project>
|
284
|
+
<project>
|
285
|
+
<id>11172</id>
|
286
|
+
<name>rPulse</name>
|
287
|
+
<iteration_length type="integer">1</iteration_length>
|
288
|
+
<week_start_day>Monday</week_start_day>
|
289
|
+
<point_scale>0,1,2,3</point_scale>
|
290
|
+
</project>
|
291
|
+
<project>
|
292
|
+
<id>12510</id>
|
293
|
+
<name>snippetstash</name>
|
294
|
+
<iteration_length type="integer">1</iteration_length>
|
295
|
+
<week_start_day>Monday</week_start_day>
|
296
|
+
<point_scale>0,1,2,3</point_scale>
|
297
|
+
</project>
|
298
|
+
</projects>}
|
299
|
+
url = "#{@service}/projects?token=#{@token}"
|
300
|
+
FakeWeb.register_uri(:get, url, :string => xml, :content_type => "application/xml", :status => ["200", "OK"])
|
301
|
+
|
302
|
+
end
|
303
|
+
|
304
|
+
|
305
|
+
|
306
|
+
it "should should create an array of four projects" do
|
307
|
+
projects = Pivotal::Project.find_all
|
308
|
+
projects.length.should == 4
|
309
|
+
projects.each{|project| project.should be_a(Pivotal::Project)}
|
310
|
+
projects.detect{|project| project.name == "snippetstash"}
|
311
|
+
projects.detect{|project| project.name == "Rails Mentors"}
|
312
|
+
projects.detect{|project| project.name == "rPulse"}
|
313
|
+
projects.detect{|project| project.name == "FeelMySkills"}
|
314
|
+
end
|
315
|
+
end
|
316
|
+
|
317
|
+
end
|
@@ -0,0 +1,243 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), "/../spec_helper")
|
2
|
+
|
3
|
+
describe Pivotal::Story do
|
4
|
+
before(:each) do
|
5
|
+
@service = "http://www.pivotaltracker.com/services/v2"
|
6
|
+
@token = "abcd"
|
7
|
+
Pivotal::Configuration.options[:api_key] = @token
|
8
|
+
FakeWeb.clean_registry
|
9
|
+
FakeWeb.allow_net_connect = false
|
10
|
+
end
|
11
|
+
|
12
|
+
|
13
|
+
after(:each) do
|
14
|
+
FakeWeb.clean_registry
|
15
|
+
FakeWeb.allow_net_connect = true
|
16
|
+
end
|
17
|
+
|
18
|
+
|
19
|
+
describe "with many stories" do
|
20
|
+
before(:each) do
|
21
|
+
xml = %Q{<?xml version="1.0" encoding="UTF-8"?>
|
22
|
+
<stories type="array" count="14" total="14">
|
23
|
+
<story>
|
24
|
+
<id type="integer">300970</id>
|
25
|
+
<story_type>release</story_type>
|
26
|
+
<url>http://www.pivotaltracker.com/story/show/300970</url>
|
27
|
+
<current_state>accepted</current_state>
|
28
|
+
<description></description>
|
29
|
+
<name>rel_1-1-5</name>
|
30
|
+
<requested_by>Brian Hogan</requested_by>
|
31
|
+
<created_at type="datetime">2008/12/04 03:00:57 UTC</created_at>
|
32
|
+
<accepted_at type="datetime">2009/01/14 06:32:15 UTC</accepted_at>
|
33
|
+
<deadline type="datetime">2008/12/12 20:00:00 UTC</deadline>
|
34
|
+
<iteration>
|
35
|
+
<number>1</number>
|
36
|
+
<start type="datetime">2009/01/12 00:00:00 UTC</start>
|
37
|
+
<finish type="datetime">2009/01/19 00:00:00 UTC</finish>
|
38
|
+
</iteration>
|
39
|
+
</story>
|
40
|
+
<story>
|
41
|
+
<id type="integer">302045</id>
|
42
|
+
<story_type>bug</story_type>
|
43
|
+
<url>http://www.pivotaltracker.com/story/show/302045</url>
|
44
|
+
<current_state>accepted</current_state>
|
45
|
+
<description>CSS stylesheets for greybox are still referenced in templates causing errors in the logs</description>
|
46
|
+
<name>Remove references to Greybox</name>
|
47
|
+
<requested_by>Brian Hogan</requested_by>
|
48
|
+
<owned_by>Brian Hogan</owned_by>
|
49
|
+
<created_at type="datetime">2008/12/04 18:46:43 UTC</created_at>
|
50
|
+
<accepted_at type="datetime">2009/01/19 17:22:53 UTC</accepted_at>
|
51
|
+
<iteration>
|
52
|
+
<number>2</number>
|
53
|
+
<start type="datetime">2009/01/19 00:00:00 UTC</start>
|
54
|
+
<finish type="datetime">2009/01/26 00:00:00 UTC</finish>
|
55
|
+
</iteration>
|
56
|
+
</story>
|
57
|
+
<story>
|
58
|
+
<id type="integer">300931</id>
|
59
|
+
<story_type>bug</story_type>
|
60
|
+
<url>http://www.pivotaltracker.com/story/show/300931</url>
|
61
|
+
<current_state>accepted</current_state>
|
62
|
+
<description>The home page has no title set.</description>
|
63
|
+
<name>Get a title on the home page</name>
|
64
|
+
<requested_by>Brian Hogan</requested_by>
|
65
|
+
<owned_by>Brian Hogan</owned_by>
|
66
|
+
<created_at type="datetime">2008/12/04 02:22:00 UTC</created_at>
|
67
|
+
<accepted_at type="datetime">2009/01/19 17:23:11 UTC</accepted_at>
|
68
|
+
<iteration>
|
69
|
+
<number>2</number>
|
70
|
+
<start type="datetime">2009/01/19 00:00:00 UTC</start>
|
71
|
+
<finish type="datetime">2009/01/26 00:00:00 UTC</finish>
|
72
|
+
</iteration>
|
73
|
+
</story>
|
74
|
+
<story>
|
75
|
+
<id type="integer">300939</id>
|
76
|
+
<story_type>feature</story_type>
|
77
|
+
<url>http://www.pivotaltracker.com/story/show/300939</url>
|
78
|
+
<estimate type="integer">1</estimate>
|
79
|
+
<current_state>started</current_state>
|
80
|
+
<description>Images need to be linked and modalbox needs testing in other browsers besides FF and Safari.</description>
|
81
|
+
<name>Finish modalbox implementation</name>
|
82
|
+
<requested_by>Brian Hogan</requested_by>
|
83
|
+
<owned_by>Brian Hogan</owned_by>
|
84
|
+
<created_at type="datetime">2008/12/04 02:33:33 UTC</created_at>
|
85
|
+
<iteration>
|
86
|
+
<number>28</number>
|
87
|
+
<start type="datetime">2009/07/20 00:00:00 UTC</start>
|
88
|
+
<finish type="datetime">2009/07/27 00:00:00 UTC</finish>
|
89
|
+
</iteration>
|
90
|
+
</story>
|
91
|
+
<story>
|
92
|
+
<id type="integer">300495</id>
|
93
|
+
<story_type>feature</story_type>
|
94
|
+
<url>http://www.pivotaltracker.com/story/show/300495</url>
|
95
|
+
<estimate type="integer">3</estimate>
|
96
|
+
<current_state>started</current_state>
|
97
|
+
<description>Choose an item, edit it, and notice that the dropdown for file / url is not selected on load, causing the file or url field to not display.</description>
|
98
|
+
<name>Editing an item does not select the correct type</name>
|
99
|
+
<requested_by>Brian Hogan</requested_by>
|
100
|
+
<owned_by>Brian Hogan</owned_by>
|
101
|
+
<created_at type="datetime">2008/12/04 01:55:39 UTC</created_at>
|
102
|
+
<iteration>
|
103
|
+
<number>28</number>
|
104
|
+
<start type="datetime">2009/07/20 00:00:00 UTC</start>
|
105
|
+
<finish type="datetime">2009/07/27 00:00:00 UTC</finish>
|
106
|
+
</iteration>
|
107
|
+
</story>
|
108
|
+
<story>
|
109
|
+
<id type="integer">300423</id>
|
110
|
+
<story_type>feature</story_type>
|
111
|
+
<url>http://www.pivotaltracker.com/story/show/300423</url>
|
112
|
+
<estimate type="integer">3</estimate>
|
113
|
+
<current_state>started</current_state>
|
114
|
+
<description>A profile should be viewable using the iPhone or Touch.
|
115
|
+
The profile page should link to the portfolios.
|
116
|
+
items should display within the portfolios.</description>
|
117
|
+
<name>iPhone interface for viewing profiles</name>
|
118
|
+
<requested_by>Brian Hogan</requested_by>
|
119
|
+
<owned_by>Brian Hogan</owned_by>
|
120
|
+
<created_at type="datetime">2008/12/04 01:48:53 UTC</created_at>
|
121
|
+
<iteration>
|
122
|
+
<number>28</number>
|
123
|
+
<start type="datetime">2009/07/20 00:00:00 UTC</start>
|
124
|
+
<finish type="datetime">2009/07/27 00:00:00 UTC</finish>
|
125
|
+
</iteration>
|
126
|
+
</story>
|
127
|
+
<story>
|
128
|
+
<id type="integer">300923</id>
|
129
|
+
<story_type>feature</story_type>
|
130
|
+
<url>http://www.pivotaltracker.com/story/show/300923</url>
|
131
|
+
<estimate type="integer">1</estimate>
|
132
|
+
<current_state>unstarted</current_state>
|
133
|
+
<description>Add a "contact us" form that sends an email</description>
|
134
|
+
<name>Contact Us form</name>
|
135
|
+
<requested_by>Brian Hogan</requested_by>
|
136
|
+
<created_at type="datetime">2008/12/04 02:14:51 UTC</created_at>
|
137
|
+
<iteration>
|
138
|
+
<number>28</number>
|
139
|
+
<start type="datetime">2009/07/20 00:00:00 UTC</start>
|
140
|
+
<finish type="datetime">2009/07/27 00:00:00 UTC</finish>
|
141
|
+
</iteration>
|
142
|
+
</story>
|
143
|
+
<story>
|
144
|
+
<id type="integer">300518</id>
|
145
|
+
<story_type>feature</story_type>
|
146
|
+
<url>http://www.pivotaltracker.com/story/show/300518</url>
|
147
|
+
<estimate type="integer">1</estimate>
|
148
|
+
<current_state>unstarted</current_state>
|
149
|
+
<description>Add a send to friend link on portfolios</description>
|
150
|
+
<name>Send To Friend linke</name>
|
151
|
+
<requested_by>Brian Hogan</requested_by>
|
152
|
+
<created_at type="datetime">2008/12/04 01:57:22 UTC</created_at>
|
153
|
+
<iteration>
|
154
|
+
<number>28</number>
|
155
|
+
<start type="datetime">2009/07/20 00:00:00 UTC</start>
|
156
|
+
<finish type="datetime">2009/07/27 00:00:00 UTC</finish>
|
157
|
+
</iteration>
|
158
|
+
</story>
|
159
|
+
<story>
|
160
|
+
<id type="integer">306550</id>
|
161
|
+
<story_type>feature</story_type>
|
162
|
+
<url>http://www.pivotaltracker.com/story/show/306550</url>
|
163
|
+
<estimate type="integer">1</estimate>
|
164
|
+
<current_state>unscheduled</current_state>
|
165
|
+
<description>"less than one year" looks kinda funny. Can we do months instead?</description>
|
166
|
+
<name>Show months for skills less than one year</name>
|
167
|
+
<requested_by>Brian Hogan</requested_by>
|
168
|
+
<created_at type="datetime">2008/12/09 17:28:40 UTC</created_at>
|
169
|
+
</story>
|
170
|
+
<story>
|
171
|
+
<id type="integer">300932</id>
|
172
|
+
<story_type>feature</story_type>
|
173
|
+
<url>http://www.pivotaltracker.com/story/show/300932</url>
|
174
|
+
<estimate type="integer">1</estimate>
|
175
|
+
<current_state>unscheduled</current_state>
|
176
|
+
<description></description>
|
177
|
+
<name>Add meta tags to pro accounts</name>
|
178
|
+
<requested_by>Brian Hogan</requested_by>
|
179
|
+
<created_at type="datetime">2008/12/04 02:22:36 UTC</created_at>
|
180
|
+
</story>
|
181
|
+
<story>
|
182
|
+
<id type="integer">300927</id>
|
183
|
+
<story_type>feature</story_type>
|
184
|
+
<url>http://www.pivotaltracker.com/story/show/300927</url>
|
185
|
+
<estimate type="integer">3</estimate>
|
186
|
+
<current_state>unscheduled</current_state>
|
187
|
+
<description>Allow people to buy an annual subscription for a pro account. use paypal for this first iteration. Payments should be $25 a year for pro accounts. Look into recurring billing.</description>
|
188
|
+
<name>Implement Pro account subscription</name>
|
189
|
+
<requested_by>Brian Hogan</requested_by>
|
190
|
+
<created_at type="datetime">2008/12/04 02:19:59 UTC</created_at>
|
191
|
+
</story>
|
192
|
+
<story>
|
193
|
+
<id type="integer">300924</id>
|
194
|
+
<story_type>feature</story_type>
|
195
|
+
<url>http://www.pivotaltracker.com/story/show/300924</url>
|
196
|
+
<estimate type="integer">1</estimate>
|
197
|
+
<current_state>unscheduled</current_state>
|
198
|
+
<description></description>
|
199
|
+
<name>Implement Exception Notification plugin</name>
|
200
|
+
<requested_by>Brian Hogan</requested_by>
|
201
|
+
<created_at type="datetime">2008/12/04 02:15:15 UTC</created_at>
|
202
|
+
</story>
|
203
|
+
<story>
|
204
|
+
<id type="integer">300800</id>
|
205
|
+
<story_type>feature</story_type>
|
206
|
+
<url>http://www.pivotaltracker.com/story/show/300800</url>
|
207
|
+
<estimate type="integer">3</estimate>
|
208
|
+
<current_state>unscheduled</current_state>
|
209
|
+
<description>Request recommendations from people. People receive an email asking for the recommendation. A link in the email takes them to a special URL where they enter a plain-text recommendation. They can also opt out of making the recommendation. Opting out reduces the skill score by 1000 points. Recommendations are worth 1000 points each.</description>
|
210
|
+
<name>Add Recommendations</name>
|
211
|
+
<requested_by>Brian Hogan</requested_by>
|
212
|
+
<created_at type="datetime">2008/12/04 02:14:16 UTC</created_at>
|
213
|
+
</story>
|
214
|
+
<story>
|
215
|
+
<id type="integer">300472</id>
|
216
|
+
<story_type>feature</story_type>
|
217
|
+
<url>http://www.pivotaltracker.com/story/show/300472</url>
|
218
|
+
<estimate type="integer">1</estimate>
|
219
|
+
<current_state>unscheduled</current_state>
|
220
|
+
<description>Web site thumbnails are coming from Thumbalizer. Should we make a method to fetch those images and store them locally? </description>
|
221
|
+
<name>Deal with web thumbnails</name>
|
222
|
+
<requested_by>Brian Hogan</requested_by>
|
223
|
+
<created_at type="datetime">2008/12/04 01:53:56 UTC</created_at>
|
224
|
+
</story>
|
225
|
+
</stories>}
|
226
|
+
url = "#{@service}/projects/4860/stories?token=#{@token}"
|
227
|
+
FakeWeb.register_uri(:get, url, :string => xml, :content_type => "application/xml", :status => ["200", "OK"])
|
228
|
+
@project = Pivotal::Project.new("id" => "4860", :name => "FeelMySkills")
|
229
|
+
end
|
230
|
+
it "should get stories" do
|
231
|
+
stories = Pivotal::Story.find_all_by_project_id(@project.id)
|
232
|
+
stories.each{|s| s.should be_a(Pivotal::Story)}
|
233
|
+
stories.detect{|s| s.name == "Deal with web thumbnails"}
|
234
|
+
stories.detect{|s| s.name == "Add Recommendations"}
|
235
|
+
stories.detect{|s| s.name == "Implement Exception Notification plugin"}
|
236
|
+
stories.detect{|s| s.name == "Implement Pro account subscription"}
|
237
|
+
stories.detect{|s| s.name == "iPhone interface for viewing profiles"}
|
238
|
+
|
239
|
+
end
|
240
|
+
end
|
241
|
+
|
242
|
+
|
243
|
+
end
|