Advertisement
Guest User

Untitled

a guest
Mar 29th, 2017
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1. def create
  2. @firm = FirmForm.new(Firm.new(firm_params))
  3.  
  4. if @firm.validate(firm_params) && @firm.save!
  5. redirect_to firms_path, notice: 'Фирма добавлена.'
  6. else
  7. render :new
  8. end
  9. end
  10.  
  11. describe "POST 'create'" do
  12. let(:firm_double) { double('firm_double') }
  13.  
  14. context 'when firm was created' do
  15. before(:each) do
  16. FirmForm.stub(:new).and_return(firm_double)
  17. firm_double.stub(:validate).and_return(true)
  18. firm_double.stub(:save!).and_return(true)
  19. end
  20.  
  21. it 'creates a new firm' do
  22. do_request
  23. expect(assigns(:firm)).to be(firm_double)
  24. end
  25.  
  26. it 'redirects to the correct url' do
  27. do_request
  28. expect(response).to redirect_to firms_path
  29. end
  30.  
  31. it 'add message to notice' do
  32. do_request
  33. expect(flash[:notice]).to eq('Фирма добавлена.')
  34. end
  35. end
  36.  
  37. context "when firm wasn't created" do
  38. before(:each) do
  39. FirmForm.stub(:new).and_return(firm_double)
  40. firm_double.stub(:validate).and_return(true)
  41. firm_double.stub(:save!).and_return(false)
  42. end
  43.  
  44. it 'should render new' do
  45. do_request
  46. get :new
  47. expect(response).to render_template('new')
  48. end
  49. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement