mirror of
https://github.com/edcommonwealth/sqm-dashboards.git
synced 2026-03-07 21:48:16 -08:00
55 lines
2.5 KiB
Ruby
55 lines
2.5 KiB
Ruby
require "rails_helper"
|
||
|
||
feature "School dashboard", type: feature do
|
||
let(:district) { District.find_by_slug 'winchester' }
|
||
let(:school) { School.find_by_slug 'winchester-high-school' }
|
||
|
||
let(:measure_1A_i) { Measure.find_by_measure_id('1A-i') }
|
||
let(:measure_2A_i) { Measure.find_by_measure_id('2A-i') }
|
||
|
||
let(:survey_item_1_for_measure_1A_i) { SurveyItem.create measure: measure_1A_i, survey_item_id: rand.to_s }
|
||
let(:survey_item_2_for_measure_1A_i) { SurveyItem.create measure: measure_1A_i, survey_item_id: rand.to_s }
|
||
let(:survey_item_1_for_measure_2A_i) { SurveyItem.create measure: measure_2A_i, survey_item_id: rand.to_s }
|
||
let(:survey_item_2_for_measure_2A_i) { SurveyItem.create measure: measure_2A_i, survey_item_id: rand.to_s }
|
||
|
||
let(:measure_row_bars) { page.all('rect.measure-row-bar') }
|
||
|
||
let(:ay_2020_21) { AcademicYear.find_by_range '2020-21' }
|
||
|
||
before :each do
|
||
SurveyItemResponse.create response_id: '123abc', academic_year: ay_2020_21, school: school, survey_item: survey_item_1_for_measure_1A_i, likert_score: 4
|
||
SurveyItemResponse.create response_id: '456efg', academic_year: ay_2020_21, school: school, survey_item: survey_item_2_for_measure_1A_i, likert_score: 5
|
||
|
||
SurveyItemResponse.create response_id: '123abc', academic_year: ay_2020_21, school: school, survey_item: survey_item_1_for_measure_2A_i, likert_score: 5
|
||
SurveyItemResponse.create response_id: '456efg', academic_year: ay_2020_21, school: school, survey_item: survey_item_2_for_measure_2A_i, likert_score: 5
|
||
end
|
||
|
||
scenario "User authentication fails" do
|
||
page.driver.browser.basic_authorize('wrong username', 'wrong password')
|
||
|
||
visit "/districts/winchester/schools/#{school.slug}/dashboard?year=2020-21"
|
||
|
||
expect(page).not_to have_text(school.name)
|
||
end
|
||
|
||
scenario "User views a school dashboard" do
|
||
page.driver.browser.basic_authorize(username, password)
|
||
|
||
visit "/districts/#{district.slug}/schools/#{school.slug}/dashboard?year=#{ay_2020_21.range}"
|
||
|
||
expect(page).to have_select('academic-year', selected: '2020 – 2021')
|
||
expect(page).to have_select('district', selected: 'Winchester')
|
||
expect(page).to have_select('school', selected: 'Winchester High School')
|
||
|
||
expect(page).to have_text(school.name)
|
||
|
||
expect(page).to have_text('Professional Qualifications')
|
||
expect(measure_row_bars[0]['width']).to eq '20.66%'
|
||
|
||
expect(page).to have_text('Student Physical Safety')
|
||
expect(measure_row_bars[1]['width']).to eq '50.0%'
|
||
end
|
||
|
||
let(:username) { 'winchester' }
|
||
let(:password) { 'winchester!' }
|
||
end
|