Nella documentazione testamentaria che danno consigli su come si può avere accesso a current_user quando si verifica un controller:Come accedere (progettare) current_user in un test di funzionalità rspec?
Tuttavia, che dire di quando si fa un test di funzionalità? Sto provando a testare un metodo di creazione di uno dei miei controller e in quel controller viene utilizzata la variabile current_user.
Il problema è che la macro suggerita in devise utilizza la variabile @request ed è nil per una specifica di funzionalità. Che cos'è una soluzione alternativa?
EDIT:
Questo è quello che ho finora per la mia attuale spec:
feature 'As a user I manage the orders of the system' do
scenario 'User is logged in ad an admin' do
user = create(:user)
order = create(:order, user: user)
visit orders_path
#Expectations
end
end
Il problema è che nel mio OrdersController
ho una chiamata current_user.orders
, e dal momento che current_user
non è definito, si mi reindirizzerà a /users/sign_in
.
ho definito questo sotto /spec/features/manage_orders.rb
ho usato per qualcosa di simile –
Inoltre, vedere http://blog.pixarea.com/2013/01/ making-rspec-feature-specs-easy-with-devise e http://stackoverflow.com/questions/5865555/how-to-do-integration-testing-with-rspec-and-devise-cancan. –
Forse include il codice di prova che stai tentando di scrivere? Puoi semplicemente fingere che 'current_user' sia lì, penso che sarà di grande aiuto nel chiarire le tue intenzioni. –