# Setting session user into functional tests

**URL:** <https://www.ruby-forum.com/t/setting-session-user-into-functional-tests/139544>\
**Category:** Rails\
**Created:** [June 4, 2008, 9:45pm UTC](https://www.ruby-forum.com/t/setting-session-user-into-functional-tests/139544 "2008-06-04T21:45:17Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Bruno\_GuimarSSSSes\_S](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/49beb7/32.png) [@Bruno\_GuimarSSSSes\_S](https://www.ruby-forum.com/u/Bruno_GuimarSSSSes_S)\
**Post date:** [June 4, 2008, 9:45pm UTC](https://www.ruby-forum.com/t/setting-session-user-into-functional-tests/139544/1 "2008-06-04T21:45:17Z")

</div>

I am using restful authentication.  
So, some controllers requires a session with a user logged in.  
Now, I am trying to write functional tests for those controllers. I  
wanna  
set a session user (in ‘setup’ for example) and than test assertions  
supposing that a user is logged in. How can I do that?

## Regards,

Bruno GuimarÃ£es Sousa  
www.brunosousa.co.nr  
COINF-CEFET-BA  
CiÃªncia da ComputaÃ§Ã£o UFBA  
Registered Linux user #465914

---

<div class="post-metadata">

**Author:** ![Bruno\_GuimarSSSSes\_S](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/49beb7/32.png) [@Bruno\_GuimarSSSSes\_S](https://www.ruby-forum.com/u/Bruno_GuimarSSSSes_S)\
**Post date:** [June 4, 2008, 9:52pm UTC](https://www.ruby-forum.com/t/setting-session-user-into-functional-tests/139544/2 "2008-06-04T21:52:21Z")

</div>

On Wed, 2008-06-04 at 16:44 -0300, Bruno Guimarães Sousa wrote:

> I am using restful authentication.  
> So, some controllers requires a session with a user logged in.  
> Now, I am trying to write functional tests for those controllers. I  
> wanna set a session user (in ‘setup’ for example) and than test  
> assertions supposing that a user is logged in. How can I do that?

* * *

here’s how I did it…

added to test/test\_helper.rb

def login\_with\_administrator  
@authuser = User.find 1  
@request.session[:user\_id] = @authuser.id  
@request.session[:user\_name] = @authuser.name  
end

than in any controller\_test.rb I simply call ‘login\_with\_administrator’

Change session variables as necessary

Craig
