Hi All,
I'm currently working on an Admin Controller that displays a list of topics and questions. Users are required to login to add topics/ questions. The login functionality works fine in practice - all actions except 'signin' are wrapped in a before filter that redirects in the absence of session[:user].
My problem is that all my tests are producing errors as the test suite will not recognise the fixtures for the AdminUser model as follows:
"No fixture with name 'robin' found for table 'admin_users'"
I've set out below 2 sample tests from the admin_controller_test (note the methods at the bottom - covering the bases using strings and symbols), fixtures and 'tail' from the test.log. I have tried to pass the session directly as a parameter to an individual test and still receive the same error.
Any help would be greatly appreciated.
Robin
- - - - - - - - def test_should_show_new get_with_user :new assert_response :success assert_template 'new' assert_not_nil assigns(:topic) end
def test_should_add_topic post_with_user :new, :topic => {:name => 'test topic', :description => 'test description'} assert ! assigns(:topic).new_record? assert_redirected_to :action => 'index' assert_not_nil flash[:notice] end
protected def get_with_user(action, parameters = nil, session = nil, flash = nil) get action, nil, {'user' => admin_users(:robin).id} end
def post_with_user(action, parameters = nil, session = nil, flash = nil) post action, nil, :user => admin_users('robin').id end - - - - - - - one: id: 1 username: robin password_salt: 1YP9AH4N password_hash: 4deec5b9b2fb00544b018ee17e27e6fb9ed338d7a1402d16b72b715e75ea2ef4 #secret
two: id: 2 username: jaye password_salt: CB620C9W password_hash: 1ff5c3462acdb8aa47fc07a2fd4a8103ac43d8754fb263b350bfb79e8b413c33 #bunny - - - - - - - robin-fishers-computer:~/elearning robinfisher$ rake test:functionals tail -f log/test.log (in /Users/robinfisher/elearning) rake aborted! /Users/robinfisher/elearning/log/test.log:1: Invalid char `\033' in expression /Users/robinfisher/elearning/log/test.log:1: parse error, unexpected ';', expecting ']' SQL (0.000167) SET SQL_AUTO_IS_NULL=0 ^ /Users/robinfisher/elearning/log/test.log:1: parse error, unexpected tIDENTIFIER, expecting $ SQL (0.000167) SET SQL_AUTO_IS_NULL=0 ^
(See full trace by running task with --trace)