前提・実現したいこと
都道府県をenumを使ってセレクトボックスにしており、選択状態にしてテストを実行したいです。
prefectureはinteger型でseed.rbで保存しています。
発生している問題・エラーメッセージ
Failure/Error: expect(page).to have_select(name="company[prefecture_id]", selected: '北海道' )
該当のソースコード
expect(page).to have_select(name="company[prefecture_id]", selected: '北海道' )
<label for="company_prefecture_id">都道府県</label> <%= f.select :prefecture_id, Prefecture.prefecture_names %>
seed.rb
Prefecture.create( prefecture_name: '北海道' ) Prefecture.create( prefecture_name: '青森県' ) Prefecture.create( prefecture_name: '岩手県' ) ~省略~
model
class Prefecture < ApplicationRecord has_many :companies, dependent: :destroy enum prefecture_name:{ "---":0, 北海道:1,青森県:2,岩手県:3,宮城県:4,秋田県:5,山形県:6,福島県:7, 茨城県:8,栃木県:9,群馬県:10,埼玉県:11,千葉県:12,東京都:13,神奈川県:14, 新潟県:15,富山県:16,石川県:17,福井県:18,山梨県:19,長野県:20, 岐阜県:21,静岡県:22,愛知県:23,三重県:24, 滋賀県:25,京都府:26,大阪府:27,兵庫県:28,奈良県:29,和歌山県:30, 鳥取県:31,島根県:32,岡山県:33,広島県:34,山口県:35, 徳島県:36,香川県:37,愛媛県:38,高知県:39, 福岡県:40,佐賀県:41,長崎県:42,熊本県:43,大分県:44,宮崎県:45,鹿児島県:46, 沖縄県:47 } end
試したこと
以下の二つのコードに変更して実行してみましたが、うまくいきませんでした。
find("#company_prefecture_id").find("option[value='1']").select_option
select(value = "2", from: "company[prefecture_id]")
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
あなたの回答
tips
プレビュー