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', with: title
|
|
fill_in 'poll_question_answer_description', 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', with: title
|
|
fill_in 'poll_question_answer_description', 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', 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
|