Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def create
- @firm = FirmForm.new(Firm.new(firm_params))
- if @firm.validate(firm_params) && @firm.save!
- redirect_to firms_path, notice: 'Фирма добавлена.'
- else
- render :new
- end
- end
- describe "POST 'create'" do
- let(:firm_double) { double('firm_double') }
- context 'when firm was created' do
- before(:each) do
- FirmForm.stub(:new).and_return(firm_double)
- firm_double.stub(:validate).and_return(true)
- firm_double.stub(:save!).and_return(true)
- end
- it 'creates a new firm' do
- do_request
- expect(assigns(:firm)).to be(firm_double)
- end
- it 'redirects to the correct url' do
- do_request
- expect(response).to redirect_to firms_path
- end
- it 'add message to notice' do
- do_request
- expect(flash[:notice]).to eq('Фирма добавлена.')
- end
- end
- context "when firm wasn't created" do
- before(:each) do
- FirmForm.stub(:new).and_return(firm_double)
- firm_double.stub(:validate).and_return(true)
- firm_double.stub(:save!).and_return(false)
- end
- it 'should render new' do
- do_request
- get :new
- expect(response).to render_template('new')
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement