On 29 November 2012 11:58, Raul Sanchez <[email protected]> wrote:
> Ahhhh :-)
>
> Thank you.
>
> Which will be the right way to do it?

Just fetch it from the db again before tesating it

Colin

>
> 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.
>
>

-- 
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