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.
50 lines
1.7 KiB
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
|