Slide 62
Slide 62 text
Performance - QA Scripts
def language_fluency_form
find(".new_language_ability")
end
scenario "allows viewing, adding, editing and removing them" do
spanish = create(:language, name: "Spanish")
create(:language, name: "French")
applicant = create(:applicant)
create(
:language_ability,
applicant: applicant,
language: spanish,
ability: 3
)
sign_in_applicant applicant
visit language_abilities_path
expect(current_path).to eq language_abilities_path
within language_ability_element(text: "Spanish") do
expect(page).to have_content "3"
click_button "Edit"
expect(page).to have_select "Change Fluency", selected: "3"
expect(page).to have_button "Save"
click_button "Cancel"
expect(page).not_to have_select "Change Fluency"
expect(page).to have_button "Edit"
expect(page).to have_button "Delete"
end
within language_fluency_form do
expect(page).to have_css(
"option[disabled]",
text: "Spanish",
visible: false
)
click_button "Add Language"
expect(page).to have_css(
".input-error-message",
count: 2,
text: I18n.t("errors.messages.blank")
)
chosen_select "French", from: "Language"
choose "4"
click_button "Add Language"
expect(page).to have_chosen_select "Language", selected: ""
expect(page).not_to have_field "Fluency"
expect(page).to have_css(
"option[disabled]",
text: "French",
visible: false
)
end
within language_ability_element(text: "French") do
expect(page).to have_content "4"
click_button "Edit"
select "5", from: "Change Fluency"
click_button "Save"
expect(page).not_to have_select "Change Fluency"
expect(page).to have_content "5"
end
within language_ability_element(text: "Spanish") do
click_button "Delete"
A single integration test
for a page of the app