How about just testing the flash directly, which should be accessible from your test:
flash[:success].should =~ /welcome new user/i I've used a case insensitive regex here, which I think captures the intent of your test without being quite so rigid. What do you think? On Fri, Mar 11, 2011 at 10:06 AM, Tyrel R. <li...@ruby-forum.com> wrote: > Hello every one, > > So my this rspec test fails: > > [code] > it "should have a welcome message" do > post :create, :user => @attr > response.flash[:success].should eql("Welcome new user!") > end > [/code] > > However when I create a new user the flash message does display just as > I had wanted it to. > > The controller has this in it: > [code] > def create > @user = User.new(params[:user]) > if @user.save > flash[:success] = "Welcome new user!" > redirect_to @user > else > @title = "Sign up" > render 'new' > end > end > > def show > @user = User.find(params[:id]) > @title = @user.userName > end > end > [/code] > > And the view displays with: > [code] > <%= flash_helper %> > > The helper is: > > def flash_helper > f_names = [:success] > fl = '' > > for name in f_names > if flash[name] > fl = fl + "<div class=\"notice\">#{flash[name]}</div>" > end > flash[name] = nil; > end > return fl.html_safe > end > [/code] > > Like I said the flash message works just fine however the test fails any > ideas would be greatly appreciated. > > Hope all is well :) > > -- > Posted via http://www.ruby-forum.com/. > _______________________________________________ > rspec-users mailing list > rspec-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users >
_______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users