Commit f1b5c18449bb5fb321b5fedde006906ff6517f37

Authored by Nathan Broadbent
1 parent 21a0f86e
Exists in master and in 1 other branch production

Completed specs for Pivotal Tracker.

Showing 1 changed file with 16 additions and 11 deletions   Show diff stats
spec/controllers/errs_controller_spec.rb
@@ -326,25 +326,30 @@ describe ErrsController do @@ -326,25 +326,30 @@ describe ErrsController do
326 326
327 context "pivotal tracker" do 327 context "pivotal tracker" do
328 let(:notice) { Factory :notice } 328 let(:notice) { Factory :notice }
329 - let(:tracker) { Factory :pivotal_tracker, :app => notice.err.app } 329 + let(:tracker) { Factory :pivotal_tracker, :app => notice.err.app, :project_id => 10 }
330 let(:err) { notice.err } 330 let(:err) { notice.err }
331 331
332 before(:each) do 332 before(:each) do
333 - pending  
334 - number = 5  
335 - @issue_link = "#{tracker.account}/issues/#{number}.xml?project_id=#{tracker.project_id}"  
336 - body = "<issue><subject>my subject</subject><id>#{number}</id></issue>"  
337 - stub_request(:post, "#{tracker.account}/issues.xml").to_return(:status => 201, :headers => {'Location' => @issue_link}, :body => body ) 333 + story_id = 5
  334 + @issue_link = "https://www.pivotaltracker.com/story/show/#{story_id}"
  335 +
  336 + project_body = "<project><id>#{tracker.project_id}</id><name>TestProject</name></project>"
  337 + stub_request(:get, "https://www.pivotaltracker.com/services/v3/projects/#{tracker.project_id}").
  338 + to_return(:status => 200, :headers => {'Location' => @issue_link}, :body => project_body )
  339 +
  340 + story_body = "<story><name>Test Story</name><id>#{story_id}</id></story>"
  341 + stub_request(:post, "https://www.pivotaltracker.com/services/v3/projects/#{tracker.project_id}/stories").
  342 + to_return(:status => 201, :headers => {'Location' => @issue_link}, :body => story_body )
338 343
339 post :create_issue, :app_id => err.app.id, :id => err.id 344 post :create_issue, :app_id => err.app.id, :id => err.id
340 err.reload 345 err.reload
341 end 346 end
342 347
343 it "should make request to Pivotal Tracker with err params" do 348 it "should make request to Pivotal Tracker with err params" do
344 - requested = have_requested(:post, "#{tracker.account}/issues.xml")  
345 - WebMock.should requested.with(:headers => {'X-Redmine-API-Key' => tracker.api_token})  
346 - WebMock.should requested.with(:body => /<project-id>#{tracker.project_id}<\/project-id>/)  
347 - WebMock.should requested.with(:body => /<subject>\[#{ err.environment }\]\[#{err.where}\] #{err.message.to_s.truncate(100)}<\/subject>/) 349 + requested = have_requested(:post, "https://www.pivotaltracker.com/services/v3/projects/#{tracker.project_id}/stories")
  350 + WebMock.should requested.with(:headers => {'X-Trackertoken' => tracker.api_token})
  351 + WebMock.should requested.with(:body => /See this exception on Errbit/)
  352 + WebMock.should requested.with(:body => /<name>\[#{ err.environment }\]\[#{err.where}\] #{err.message.to_s.truncate(100)}<\/name>/)
348 WebMock.should requested.with(:body => /<description>.+<\/description>/m) 353 WebMock.should requested.with(:body => /<description>.+<\/description>/m)
349 end 354 end
350 355
@@ -353,7 +358,7 @@ describe ErrsController do @@ -353,7 +358,7 @@ describe ErrsController do
353 end 358 end
354 359
355 it "should create issue link for err" do 360 it "should create issue link for err" do
356 - err.issue_link.should == @issue_link.sub(/\.xml/, '') 361 + err.issue_link.should == @issue_link
357 end 362 end
358 end 363 end
359 364