Since given order is no longer being generated automatically we need to add it to related forms and to strong parameters methods
72 lines
1.9 KiB
Ruby
72 lines
1.9 KiB
Ruby
require 'rails_helper'
|
|
|
|
feature 'Answers' do
|
|
|
|
background do
|
|
admin = create(:administrator)
|
|
login_as admin.user
|
|
end
|
|
|
|
scenario 'Create' do
|
|
question = create(:poll_question)
|
|
title = 'Whatever the question may be, the answer is always 42'
|
|
description = "The Hitchhiker's Guide To The Universe"
|
|
|
|
visit admin_question_path(question)
|
|
click_link 'Add answer'
|
|
|
|
fill_in 'poll_question_answer_title_en', with: title
|
|
fill_in 'poll_question_answer_description_en', with: description
|
|
|
|
click_button 'Save'
|
|
|
|
expect(page).to have_content(title)
|
|
expect(page).to have_content(description)
|
|
end
|
|
|
|
scenario 'Create second answer and place after the first one' do
|
|
question = create(:poll_question)
|
|
answer = create(:poll_question_answer, title: 'First', question: question, given_order: 1)
|
|
title = 'Second'
|
|
description = "Description"
|
|
|
|
visit admin_question_path(question)
|
|
click_link 'Add answer'
|
|
|
|
fill_in 'poll_question_answer_title_en', with: title
|
|
fill_in 'poll_question_answer_description_en', with: description
|
|
|
|
click_button 'Save'
|
|
|
|
expect(page.body.index('First')).to be < page.body.index('Second')
|
|
end
|
|
|
|
scenario 'Update' do
|
|
question = create(:poll_question)
|
|
answer = create(:poll_question_answer, question: question, title: "Answer title", given_order: 2)
|
|
answer2 = create(:poll_question_answer, question: question, title: "Another title", given_order: 1)
|
|
|
|
visit admin_answer_path(answer)
|
|
|
|
click_link 'Edit answer'
|
|
|
|
old_title = answer.title
|
|
new_title = 'Ex Machina'
|
|
|
|
fill_in 'poll_question_answer_title_en', with: new_title
|
|
|
|
click_button 'Save'
|
|
|
|
expect(page).to have_content('Changes saved')
|
|
expect(page).to have_content(new_title)
|
|
|
|
visit admin_question_path(question)
|
|
|
|
expect(page).to have_content(new_title)
|
|
expect(page).not_to have_content(old_title)
|
|
|
|
expect(answer2.title).to appear_before(new_title)
|
|
end
|
|
|
|
end
|