Commit 02db31b71d72b74bf5718483efcb5da5e0d1e4b3

Authored by Arthur Neves
1 parent 242fd923
Exists in master and in 1 other branch production

Fix problem_controller and spec

app/controllers/problems_controller.rb
@@ -64,9 +64,9 @@ class ProblemsController < ApplicationController @@ -64,9 +64,9 @@ class ProblemsController < ApplicationController
64 def create_issue 64 def create_issue
65 body = "" # TODO render_issue_body 65 body = "" # TODO render_issue_body
66 title = "" # TODO generate_title 66 title = "" # TODO generate_title
67 - issue = Issue.new(problem: problem, user: current_user, title: title, body: body) 67 + issue = Issue.new(issue_tracker: problem.app.issue_tracker, user: current_user, title: title, body: body)
68 unless issue.save 68 unless issue.save
69 - flash[:error] = issue_creation.errors.full_messages.join(', ') 69 + flash[:error] = issue.errors.full_messages.join(', ')
70 end 70 end
71 71
72 redirect_to app_problem_path(app, problem) 72 redirect_to app_problem_path(app, problem)
spec/controllers/problems_controller_spec.rb
@@ -263,39 +263,33 @@ describe ProblemsController do @@ -263,39 +263,33 @@ describe ProblemsController do
263 end 263 end
264 264
265 context "successful issue creation" do 265 context "successful issue creation" do
266 - context "lighthouseapp tracker" do  
267 - let(:notice) { Fabricate :notice }  
268 - let(:problem) { notice.problem } 266 + let(:notice) { Fabricate :notice }
  267 + let(:problem) { notice.problem }
  268 + let(:issue_tracker) { Fabricate(:issue_tracker) }
269 269
270 - before(:each) do  
271 - controller.stub(:problem).and_return(problem)  
272 - controller.stub(:current_user).and_return(admin)  
273 - IssueCreation.should_receive(:new).with(problem, admin, nil, request).and_return(double(:execute => true))  
274 - post :create_issue, :app_id => problem.app.id, :id => problem.id  
275 - end 270 + before do
  271 + problem.app.issue_tracker = issue_tracker
  272 + problem.app.save!
  273 + controller.stub(:current_user).and_return(admin)
  274 + post :create_issue, app_id: problem.app.id, id: problem.id
  275 + end
276 276
277 - it "should redirect to problem page" do  
278 - expect(response).to redirect_to( app_problem_path(problem.app, problem) )  
279 - expect(flash[:error]).to be_blank  
280 - end 277 + it "should redirect to problem page" do
  278 + expect(response).to redirect_to( app_problem_path(problem.app, problem) )
  279 + expect(flash[:error]).to be_blank
281 end 280 end
282 end 281 end
283 282
284 context "error during request to a tracker" do 283 context "error during request to a tracker" do
285 - before(:each) do  
286 - IssueCreation.should_receive(:new).with(problem, admin, nil, request).and_return(  
287 - double(:execute => false, :errors => double(:full_messages => ['not create']))  
288 - )  
289 - controller.stub(:problem).and_return(problem)  
290 - post :create_issue, :app_id => problem.app.id, :id => problem.id 284 + before do
  285 + post :create_issue, app_id: problem.app.id, id: problem.id
291 end 286 end
292 287
293 it "should redirect to problem page" do 288 it "should redirect to problem page" do
294 expect(response).to redirect_to( app_problem_path(problem.app, problem) ) 289 expect(response).to redirect_to( app_problem_path(problem.app, problem) )
295 - expect(flash[:error]).to eql 'not create' 290 + expect(flash[:error]).to eql "This app has no issue tracker setup."
296 end 291 end
297 end 292 end
298 -  
299 end 293 end
300 294
301 describe "DELETE /apps/:app_id/problems/:id/unlink_issue" do 295 describe "DELETE /apps/:app_id/problems/:id/unlink_issue" do