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 -~----------~----~----~----~------~----~------~--~---