You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
sqm-dashboards/spec/system/journey_spec.rb

243 lines
9.6 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# require "rails_helper"
# include AnalyzeHelper
# describe "District Admin", js: true do
# let(:district) { District.find_by_slug "lee-public-schools" }
# let(:different_district) { District.find_by_slug "maynard-public-schools" }
# let(:school) { School.find_by_slug "lee-elementary-school" }
# let(:school_in_same_district) { School.find_by_slug "lee-middle-high-school" }
# let(:first_school_in_wareham) { School.find_by_slug "fowler-school" }
# let(:category) { Category.find_by_name("Teachers & Leadership") }
# let(:different_category) { Category.find_by_name("School Culture") }
# let(:subcategory) { Subcategory.find_by_name("Teachers & The Teaching Environment") }
# let(:different_subcategory) { Subcategory.find_by_name("Relationships") }
# let(:measures_for_subcategory) { Measure.where(subcategory:) }
# let(:scales_for_subcategory) { Scale.where(measure: measures_for_subcategory) }
# let(:survey_items_for_subcategory) { SurveyItem.where(scale: scales_for_subcategory) }
# let(:measure_1A_i) { Measure.find_by_measure_id("1A-i") }
# let(:measure_2A_i) { Measure.find_by_measure_id("2A-i") }
# let(:measure_2A_ii) { Measure.find_by_measure_id("2A-ii") }
# let(:measure_4C_i) { Measure.find_by_measure_id("4C-i") }
# let(:measure_with_no_survey_responses) { Measure.find_by_measure_id("3A-i") }
# let(:survey_items_for_measure_1A_i) { measure_1A_i.survey_items }
# let(:survey_items_for_measure_2A_i) { measure_2A_i.survey_items }
# let(:survey_items_for_measure_2A_ii) { measure_2A_ii.survey_items }
# let(:survey_items_for_measure_4C_i) { measure_4C_i.survey_items }
# let(:ay_2021_22) { AcademicYear.find_by_range "2021-22" }
# let(:ay_2019_20) { AcademicYear.find_by_range "2019-20" }
# let(:response_rates) do
# [ay_2021_22, ay_2019_20].each do |academic_year|
# [school, school_in_same_district, first_school_in_wareham].each do |school|
# [subcategory, different_subcategory].each do |subcategory|
# ResponseRate.create!(subcategory:, school:, academic_year:, student_response_rate: 100, teacher_response_rate: 100,
# meets_student_threshold: true, meets_teacher_threshold: true)
# end
# end
# end
# end
# let(:username) { district.short_name }
# let(:password) { "#{district.short_name}!" }
# let(:respondents) do
# respondent = Respondent.find_or_initialize_by(school:, academic_year: ay_2021_22)
# respondent.total_students = 8
# respondent.total_teachers = 8
# respondent.one = 20
# respondent.save
# respondent = Respondent.find_or_initialize_by(school:, academic_year: ay_2019_20)
# respondent.total_students = 8
# respondent.total_teachers = 8
# respondent.one = 20
# respondent.save
# end
# before :each do
# Rails.application.load_seed
# respondents
# response_rates
# survey_item_responses = []
# survey_items_for_measure_1A_i.each do |survey_item|
# SurveyItemResponse::TEACHER_RESPONSE_THRESHOLD.times do
# survey_item_responses << SurveyItemResponse.new(response_id: rand.to_s, academic_year: ay_2021_22,
# school:, survey_item:, likert_score: 4)
# end
# end
# survey_items_for_measure_2A_i.each do |survey_item|
# SurveyItemResponse::STUDENT_RESPONSE_THRESHOLD.times do
# survey_item_responses << SurveyItemResponse.new(response_id: rand.to_s, academic_year: ay_2021_22,
# school:, survey_item:, likert_score: 5, grade: 1)
# end
# end
# survey_items_for_measure_2A_ii.each do |survey_item|
# SurveyItemResponse::STUDENT_RESPONSE_THRESHOLD.times do
# survey_item_responses << SurveyItemResponse.new(response_id: rand.to_s, academic_year: ay_2021_22,
# school:, survey_item:, likert_score: 5, grade: 1)
# end
# end
# survey_items_for_measure_4C_i.each do |survey_item|
# SurveyItemResponse::TEACHER_RESPONSE_THRESHOLD.times do
# survey_item_responses << SurveyItemResponse.new(response_id: rand.to_s, academic_year: ay_2021_22,
# school:, survey_item:, likert_score: 1, grade: 1)
# end
# end
# survey_items_for_subcategory.each do |survey_item|
# 2.times do
# survey_item_responses << SurveyItemResponse.new(response_id: rand.to_s, academic_year: ay_2021_22,
# school:, survey_item:, likert_score: 4, grade: 1)
# end
# end
# SurveyItemResponse.import survey_item_responses
# end
# it "navigates through the site" do
# page.driver.basic_authorize(username, password)
# visit "/welcome"
# expect(page).to have_text("Teachers & Leadership")
# go_to_school_overview_from_welcome_page(district, school)
# district_admin_sees_overview_content
# click_on "Teachers & Leadership"
# district_admin_sees_browse_content
# click_on "Overview"
# district_admin_sees_overview_content
# click_on "Analyze"
# district_admin_sees_analyze_content
# go_to_different_category(different_category)
# district_admin_sees_category_change
# go_to_different_subcategory(different_subcategory)
# district_admin_sees_subcategory_change
# click_on "Browse"
# district_admin_sees_browse_content
# click_on "School Culture"
# expect(page).to have_text("Measures the degree to which the school environment is safe, caring, and academically-oriented. It considers factors like bullying, student-teacher relationships, and student valuing of learning.")
# go_to_different_school_in_same_district(school_in_same_district)
# district_admin_sees_schools_change
# go_to_different_district(different_district)
# district_admin_sees_district_change
# go_to_different_year(ay_2019_20)
# district_admin_sees_year_change
# end
# end
# private
# def district_admin_sees_professional_qualifications
# expect(page).to have_text("Professional Qualifications")
# expect(page).to have_css("[data-for-measure-id='1A-i']")
# # TODO: cutpoints in source of truth have changed so the cutpoints have moved and '2.99%' is no longer a valid value for this cutpoint.
# # expect(page).to have_css("[data-for-measure-id='1A-i'][width='2.99%'][x='60%']")
# end
# def district_admin_sees_student_physical_safety
# expect(page).to have_text("Student Physical Safety")
# expect(page).to have_css("[data-for-measure-id='2A-i'][width='40.0%'][x='60%']")
# end
# def district_admin_sees_problem_solving_emphasis
# expect(page).to have_text("Problem Solving")
# expect(page).to have_css("[data-for-measure-id='4C-i'][width='60.0%'][x='0.0%']")
# end
# def go_to_school_overview_from_welcome_page(district, school)
# expect(page).to have_select("district", selected: "Select a District")
# select district.name, from: "district-dropdown"
# expect(page).to have_select("school", selected: "Select a School")
# select school.name, from: "school-dropdown"
# expect(page).to have_select("school", selected: "Lee Elementary School")
# expect(page).to have_xpath("//a[@class='mx-4 btn btn-secondary'][.='Go' and not(@disabled='disabled')]")
# click_on "Go"
# end
# def go_to_different_school_in_same_district(school)
# select school.name, from: "select-school"
# end
# def go_to_different_district(district)
# page.driver.basic_authorize(different_district.short_name, "#{different_district.short_name}!")
# select district.name, from: "select-district"
# end
# def go_to_different_year(year)
# select year.formatted_range, from: "select-academic-year"
# end
# def district_admin_sees_schools_change
# expected_path = "/districts/#{school_in_same_district.district.slug}/schools/#{school_in_same_district.slug}/browse/teachers-and-leadership?year=#{ay_2021_22.range}"
# expect(page).to have_current_path(expected_path)
# end
# def district_admin_sees_district_change
# expected_path = "/districts/#{different_district.slug}/schools/#{different_district.schools.alphabetic.first.slug}/browse/teachers-and-leadership?year=#{ay_2021_22.range}"
# expect(page).to have_current_path(expected_path)
# end
# def district_admin_sees_year_change
# expected_path = "/districts/#{different_district.slug}/schools/#{different_district.schools.alphabetic.first.slug}/browse/teachers-and-leadership?year=2019-20"
# expect(page).to have_current_path(expected_path)
# end
# def district_admin_sees_overview_content
# expect(page).to have_select("academic-year", selected: "2021 2022")
# expect(page).to have_select("district", selected: "Lee Public Schools")
# expect(page).to have_select("school", selected: "Lee Elementary School")
# expect(page).to have_text(school.name)
# district_admin_sees_professional_qualifications
# district_admin_sees_student_physical_safety
# district_admin_sees_problem_solving_emphasis
# page.assert_selector(".measure-row-bar", count: 6)
# end
# def district_admin_sees_browse_content
# expect(page).to have_text("Teachers & Leadership")
# expect(page).to have_text("Approval")
# end
# def district_admin_sees_analyze_content
# expect(page).to have_text("1:Teachers & Leadership > 1A:Teachers & The Teaching Environment")
# end
# def go_to_different_category(category)
# select category.name, from: "select-category"
# end
# def district_admin_sees_category_change
# expect(page).to have_text "2A:Safety"
# end
# def go_to_different_subcategory(subcategory)
# select subcategory.name, from: "select-subcategory"
# end
# def district_admin_sees_subcategory_change
# expect(page).to have_text("Relationships")
# end