Qual è il modo migliore per testare la logica in un layout di rails 3?Utilizzo di RSpec per provare un layout
Esempio: quando un utente accede al mio sito, se non ha completato il processo di registrazione, visualizzo un avviso nella parte superiore dello schermo su TUTTE le pagine. Questa logica è stata inserita nel layout dell'applicazione. Semplicemente controllo l'utente che ha effettuato l'accesso per una determinata chiave. Se la chiave NON è presente, mostro l'avviso. Non appena la chiave è presente (nel senso che hanno completato l'onboarding) NON mostro l'avviso.
Attualmente sto tentando di farlo con un test di visualizzazione, ma sto ricevendo tutti i tipi di errori ActionView::Template::Error: undefined method
autenticare "per nil: NilClass" includendo il layout dell'applicazione e non riesco a provare questa funzionalità.
Ho bisogno di assicurarmi di averlo sotto test perché se per qualche ragione uno dei miei sviluppatori rompe accidentalmente questa funzione (la visualizzazione mostrata con onboarding non è completa) dobbiamo sapere subito dopo la compilazione.
Il codice che sto cercando di testare nel mio layout è simile al seguente:
<% if user_signed_in? %>
<% unless current_user.has_completed_onboarding? %>
<div class="alert">
You cannot accept payments from your clients until you set up your payment gateway.
<%= link_to "Set up your", payment_gateway_path %> payment gateway. Its quick, we promise. :)
</div>
<% end %>
<% end %>
voglio fare in modo che se ne onboarding dettagli sono stati forniti non che questo messaggio verrà visualizzato e se hanno stato fornito, quindi non mostrare questo messaggio.