Asignar valores al hash session en TestCase

Hola,
¿Sabéis si se puede asignar un valor en el hash session cuando estoy
haciendo un test?
Ahora mismo estoy haciendo esto:
def test_should_show_new
get :new, nil, {:user_id => 1}
assert_response :success
end

Pero querría poder hacer algo como esto:
def setup
session(:user_id) = 1
end

def test_should_show_new
get :new
assert_response :success
end

¡Gracias!

Nacho

On Fri, Sep 19, 2008 at 11:29, Nacho Sánchez [email protected] wrote:

Pero querría poder hacer algo como esto:
def setup
session(:user_id) = 1
end

Casi:

def setup
session[:user_id] = 1
end

debería funcionar.

Suerte.

Me da TypeError: Symbol as array index. Tampoco funciona usando un
String

On Fri, Sep 19, 2008 at 12:03 PM, Daniel R. Troitiño <

Yo es que diría que lo tienes que hacer así

def setup
@request.session[:user_id] = 1
end

Ese codigo en Rails 2.1.1 funciona.

On 19/09/2008, at 15:32, “Daniel R. Troitiño”

2008/9/19 Francesc E. [email protected]:

Yo es que diría que lo tienes que hacer así
def setup
@request.session[:user_id] = 1
end

En unos test antiguos lo tenía así, pero he visto que Rails 2.1.1
tenía un método session en TestProcess (que está incluido en
TestCase), que devuelve @response.session (ahora mismo no veo
exactamente que diferencia debe de existir entre @request.session y
@response.session). Aunque no veo porqué puede producirse el error que
se está produciendo.

Si ese código sigue funcionando (y todo me dice que sí), esa va a ser
la forma de hacerlo.

Gracias, es justo lo que me hacía falta. Si alguien necesita alguna vez
modificar el hash de cookies en vez del de session, habría que usar
esto:

@request.cookies[“key”] = CGI::Cookie.new(“key”, “value”)

Para más info:
http://github.com/rails/rails/tree/master/actionpack/lib/action_controller/assertions.rb

Un saludo,

Nacho

2008/9/19 Francesc E. [email protected]