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) --~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
one: id: 1 username: robin password_salt: 1YP9AH4N password_hash: 4deec5b9b2fb00544b018ee17e27e6fb9ed338d7a1402d16b72b715e75ea2ef4 #secret Should be robin: id: 1 username: robin password_salt: 1YP9AH4N password_hash: 4deec5b9b2fb00544b018ee17e27e6fb9ed338d7a1402d16b72b715e75ea2ef4 #secret When you do admin_users(:robin) you need to pass the NAME of the fixture entry.... Your first fixture entry is ''one'' and not ''robin''. Does that make sense? On 4/16/07, Robin Fisher <robinjfisher-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> > > 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) > > > > >--~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On Apr 16, 10:17 pm, "Brian Hogan" <bpho...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> > When you do admin_users(:robin) you need to pass the NAME of the fixture > entry.... Your first fixture entry is ''one'' and not ''robin''. > > Does that make sense? >Makes perfect sense! Thanks for the quick response, I''m now showing a healthy 0 failures, 0 errors. Robin --~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---