Ahhhh :-)

Thank you.

Which will be the right way to do it?
El 29/11/2012 12:42, "Colin Law" <[email protected]> escribió:

> On 29 November 2012 11:30, Raul Sanchez <[email protected]> wrote:
> > Hello:
> >
> > I'm going crazy with a test of a controller action.
> >
> > This is the test
> >
> > describe "POST changetipo" do
> >     it "toggle tipo of tije" do
> >       tije = FactoryGirl.create(:tije)
> >       puts "--------------- #{tije.inspect}--------------"
> >       post :changetipo, :id => tije.id
> >       puts "+++++++++++++++ #{tije.inspect} +++++++++++++"
> >       tije.tipo.should == "2"
> >     end
> >   end
> >
> >
> > and this is the controller method
> >
> >
> > def changetipo
> >         @tije = Tije.find(params[:id])
> >         @tije.tipo == "1" ? @tije.tipo = "2" : @tije.tipo = "1"
> >         @tije.save!
> >         puts "************* #{@tije.inspect} **************"
> >
> >         respond_to do |format|
> >           format.html { redirect_to root_path, notice: 'Tije type
> changed' }
> >           format.json { head :no_content }
> >         end
> >
> > end
> >
> >
> >
> > and this is the console output:
> >
> > ---------- #<Tije id: 1, tipo: "1", description: "Hoy" --------------
> > ********** #<Tije id: 1, tipo: "2", description: "Hoy" **************
> > ++++++++++ #<Tije id: 1, tipo: "1", description: "Hoy" +++++++++++++
> >
> >
> > so, at the beginning tipo is 1. After tije.save! is 2, but when it come
> back
> > to the test, its value is 1 again :(
>
> In the test you are creating a variable and then posting a message
> (passing the id) which changes the value in the database.  That does
> not change the value of the variable in the test.  You will have to
> read it back from the db again to see the changed value.
>
> Colin
>
> --
> You received this message because you are subscribed to the Google Groups
> "Ruby on Rails: Talk" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to