On 29 November 2012 11:58, Raul Sanchez <raulxininen@gmail.com> 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" <clanlaw@googlemail.com> escribió:
>>
>> On 29 November 2012 11:30, Raul Sanchez <raulxininen@gmail.com> 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 rubyonrails-talk@googlegroups.com.
>> To unsubscribe from this group, send email to
>> rubyonrails-talk+unsubscribe@googlegroups.com.
>> 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 rubyonrails-talk@googlegroups.com.
> To unsubscribe from this group, send email to
> rubyonrails-talk+unsubscribe@googlegroups.com.
> 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 rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
No comments:
Post a Comment