💡
この記事は Middleman 時代に書いた古いものです。記録のため、astro-notion-blog に移行していますが、あまり参考にしないでください。
イベントに関連するテスト
-
イベントの作成,編集,削除,表示についてテストを行う.
require 'rails_helper' RSpec.describe :Events, type: :system do include Devise::Test::IntegrationHelpers teacher_login :hkob let(:kurasu) { kurasu_factory :hkob2300 } it 'イベントを作成できること' do visit kurasu_events_path(kurasu) click_on '編集モードに入る' click_on 'イベント作成' fill_in 'イベント名', with: 'ホール行事' fill_in '日付', with: '2018/4/7' fill_in '並び順', with: '1' click_on '登録' expect(page).to have_content 'イベントを登録しました.' end context '始業のイベントが存在する時' do let!(:start2300_0406) { event_factory :start2300_0406 } it 'イベントを編集できること' do visit kurasu_events_path(kurasu) click_on '編集モードに入る' click_on 'イベント編集' fill_in 'イベント名', with: 'ホームルーム' click_on '更新' expect(page).to have_content 'イベントを更新しました.' expect(page).to have_content 'ホームルーム' end it 'イベントを削除できること' do visit kurasu_events_path(kurasu) click_on '編集モードに入る' click_on 'イベント削除' page.driver.browser.switch_to.alert.accept expect(page).to have_content 'イベントを削除しました.' expect(page).not_to have_content '2301' end it 'イベントを表示できること' do visit kurasu_events_path(kurasu) click_on 'イベント表示' expect(page).to have_content '始業' end end end
- テストがいくつか失敗していた.いくつか view の設定に失敗していたためである.view は request spec ではテストできないところが,システムテストで確認できた.
-
まず,イベントの作成に失敗していた.app/views/kurasus/events/_form.html.haml で kurasu_id の hidden_field を忘れていたためである.以下のように hidden_filed を追加した.
= f.hidden_field :kurasu_id
-
また app/views/kurasus/events/index.html.haml でイベント名の描画を忘れていた.
(前略) %thead %tr - t_ars(Event, %i[name date sort_order]).each do |w| %th= w %th= t('control') %tbody - @events.each do |e| %tr %td= e.name %td= md_by_date e.date %td= e.sort_order (後略)
長くなったので今日はここまで