Files
grecia/spec/features/admin/poll/questions/answers/answers_spec.rb
2018-09-20 17:13:40 +02:00

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(page.body.index(new_title)).to be < page.body.index(answer2.title)
end
end