Cách tốt nhất để kiểm tra logic trong bố cục đường ray 3 là gì?Sử dụng RSpec để kiểm tra bố cục
Ví dụ: khi người dùng đăng nhập vào trang web của tôi, nếu họ chưa hoàn tất quy trình giới thiệu, tôi sẽ hiển thị cảnh báo ở đầu màn hình trên TẤT CẢ trang. Logic này được đặt vào bố cục ứng dụng. Tôi chỉ cần kiểm tra người dùng đã đăng nhập cho một khóa cụ thể. Nếu phím KHÔNG có mặt, tôi sẽ hiển thị cảnh báo. Ngay sau khi có chìa khóa (nghĩa là họ đã hoàn thành phần giới thiệu) Tôi KHÔNG hiển thị cảnh báo.
Hiện tại tôi đang cố gắng thực hiện điều này bằng kiểm tra chế độ xem nhưng tôi nhận được tất cả các loại lỗi ActionView::Template::Error: undefined method
xác thực 'cho lỗi nilClass` bằng cách bao gồm bố cục ứng dụng và dường như tôi không thể kiểm tra tính năng này.
Tôi cần phải đảm bảo rằng tôi có thử nghiệm này bởi vì nếu vì lý do nào đó, một trong những nhà phát triển của tôi vô tình phá vỡ tính năng này (xem hiển thị với phần giới thiệu chưa hoàn chỉnh), chúng tôi cần biết ngay khi xây dựng.
Mã mà tôi đang cố gắng để kiểm tra trong cách bố trí của tôi trông như thế này:
<% 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 %>
Tôi muốn chắc chắn rằng nếu họ tham gia hệ thống thông tin chi tiết chưa được cung cấp rằng thông điệp này sẽ hiển thị và nếu họ có được cung cấp, sau đó không hiển thị thông báo này.