Rspecでの星レビュー記述方法
Ruby
Ruby on Rails
Rspec
Rspecで星レビューの記述をする際にとても苦労したので備忘録として残しておきます。
## 星レビュー機能
Ratyを用いて口コミの星レビューをjQueryで実装しました。それぞれの項目の星マークをクリックする動作をさせたいので検証ツールで確認をします。
ブラウザ検証
spec_rbのコード
spec_rb
#findメソッドを用いて#review_star直下のimgのalt='5'を探してクリックします。
find('#review_star').find("img[alt='5']").click
エラー
Capybara::ElementNotFound:
Unable to find visible css "#review_star"
↑上記エラーで#review_starが見つかりませんと言われています。
この原因はfindメソッドではそもそもhidden_fieldは探せないからです。
※html上では確認はできますが、Rails上では見えていない状態になります。
そのため、visible: dalseをfindメソッドに付けると、hidden_fieldも探せる状態になります。
spec_rb
find('#review_star', visible: false).set(5)
最後に
私もプログラミングを始めてまだ3ケ月ですが、これから役立つような記事を書けるように頑張ります。
もし、上記内容に不備がありましたら、お申し付け下さい。
宜しくお願い致します。