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/presenters/data_item_presenters/student_survey_presenter.rb

50 lines
1.7 KiB

require 'rails_helper'
describe StudentSurveyPresenter do
let(:school) { nil }
let(:academic_year) { nil }
let(:measure_1A_i) { create(:measure, measure_id: '1A-i') }
let(:scale_1) { create(:student_scale, measure: measure_1A_i) }
let(:survey_item_1) do
create(:student_survey_item, survey_item_id: 's-sbel-q1', scale: scale_1,
prompt: 'I am happy when I am in class.')
end
let(:survey_item_2) do
create(:student_survey_item, survey_item_id: 's-sbel-q2', scale: scale_1,
prompt: 'My teacher gives me help when I need it.')
end
let(:survey_item_3) do
create(:student_survey_item, survey_item_id: 's-sbel-es1', scale: scale_1,
prompt: 'This prompt should not show up')
end
let(:measure_1B_i) { create(:measure, measure_id: '1B-i') }
before do
scale_1
survey_item_1
survey_item_2
survey_item_3
end
describe '#descriptions_and_availability' do
context 'When there is a survey item with a blank prompt' do
it 'returns a list containing the survey item properties excluding survey items with blank prompts' do
result = StudentSurveyPresenter.new(
measure_id: measure_1A_i.measure_id,
survey_items: measure_1A_i.student_survey_items,
has_sufficient_data: true,
school:,
academic_year:
).descriptions_and_availability
expect(
result
).to eq [
Summary.new('s-sbel-q1',
'I am happy when I am in class.', true),
Summary.new('s-sbel-q2',
'My teacher gives me help when I need it.', true)
]
end
end
end
end