Guys, Not sure why but I deleted my Gemfile.lock file. Found that it's due to a stale Gemfile.lock file which is still using rspec-core 2.8.0 when in fact I just performed and update yesterday night on rspec (hence I've got rspec-core 2.9.0). Ran "rspec parts_controller.spec.rb" again and all tests are passing.
Could it really be the stale Gemfile.lock file? hmmm On 26 March 2012 21:47, Gordon <anexi...@gmail.com> wrote: > hi all :) > > Found a spec failing today. > Not sure why. > > When I run my application and successfully added a new object, i can > see > 1) a redirection has taken place to the index page as expected (302 > code returned) from the console > 2) the flash notice's message being displayed in the index page > > BUT > when I run the specs (see below), it fails indicating that the > redirection did not occur (as a 200 code was returned) AND > that the flash notice message was nil. > > > ---------specs error start ------------------------------------- > > 1) PartsController saves the new part object successfully sets the > flash with a success message > Failure/Error: flash[:notice].should eq('Part was successfully > created.') > > expected: "Part was successfully created." > got: nil > > (compared using ==) > # ./spec/controllers/parts_controller_spec.rb:35:in `block (3 > levels) in <top (required)>' > > 2) PartsController saves the new part object successfully redirects > the user back to the parts index page > Failure/Error: response.should redirect_to( :action => 'index' ) > Expected response to be a <:redirect>, but was <200> > # ./spec/controllers/parts_controller_spec.rb:39:in `block (3 > levels) in <top (required)>' > > --------- specs error end ------------------------------------- > > --------- extract of spec/controllers/parts_controller_spec.rb - start > ------------------ > > context 'saves the new part object successfully' do > before(:each) do > post :create, :part => { 'title' => 'HKS boost > controller' } > end > > # we could combine the 2 specs below to save on the post > request > # to the create action but having 2 separate specs would give > # clarity > it 'sets the flash with a success message' do > flash[:notice].should eq('Part was successfully created.') > end > > it 'redirects the user back to the parts index page' do > response.should redirect_to( :action => 'index' ) > end > end > > --------- extract of spec/controllers/parts_controller_spec.rb - end > ------------------ > > > I'm not sure what's going on :( > > > > > -------- "parts_controller.rb" - start > ------------------------------- > > # POST /parts > # POST /parts.xml > def create > # Record current user's id as he/she created the part > params[:part][:created_by] = current_user.id > params[:part][:updated_by] = current_user.id > > @part = Part.new(params[:part]) > respond_to do |format| > if @part.save > flash[:notice] = 'Part was successfully created.' > format.html { redirect_to(parts_path) } > format.xml { render :xml => @part, :status > => :created, :location => @part } > format.json { > @parts = Part.all; > render :json => @parts > } > else > format.html { render :action => "new" } > format.xml { render :xml => @part.errors, :status > => :unprocessable_entity } > end > end > end > > > -------- "parts_controller.rb" - end ------------------------------- > >
_______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users