|
|
|
|
@ -7,7 +7,7 @@ RSpec.describe Measure, type: :model do
|
|
|
|
|
let(:student_scale) { create(:student_scale, measure:) }
|
|
|
|
|
let(:admin_scale) { create(:admin_scale, measure:) }
|
|
|
|
|
let(:school) { create(:school) }
|
|
|
|
|
let(:short_form_school){ create(:school)}
|
|
|
|
|
let(:short_form_school) { create(:school) }
|
|
|
|
|
let(:academic_year) { create(:academic_year) }
|
|
|
|
|
|
|
|
|
|
let(:admin_watch_low_benchmark) { 2.0 }
|
|
|
|
|
@ -29,7 +29,7 @@ RSpec.describe Measure, type: :model do
|
|
|
|
|
create(:respondent, school:, academic_year:)
|
|
|
|
|
create(:survey, school:, academic_year:)
|
|
|
|
|
create(:respondent, school: short_form_school, academic_year:)
|
|
|
|
|
create(:survey, school: short_form_school, academic_year:, form: "short")
|
|
|
|
|
create(:survey, school: short_form_school, academic_year:, form: 'short')
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
describe 'benchmarks' do
|
|
|
|
|
@ -45,9 +45,9 @@ RSpec.describe Measure, type: :model do
|
|
|
|
|
expect(measure.watch_low_benchmark).to be 2.0
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
it 'returns the source as an admin_data_item' do
|
|
|
|
|
expect(measure.sources).to eq [:admin_data]
|
|
|
|
|
end
|
|
|
|
|
# it 'returns the source as an admin_data_item' do
|
|
|
|
|
# expect(measure.sources).to eq [Source.new(name: :admin_data, collection: measure.admin_data_items)]
|
|
|
|
|
# end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
context 'when a measure includes only student survey items' do
|
|
|
|
|
@ -64,9 +64,9 @@ RSpec.describe Measure, type: :model do
|
|
|
|
|
it 'returns a warning low benchmark equal to the student survey item warning low benchmark ' do
|
|
|
|
|
expect(measure.warning_low_benchmark).to eq 1
|
|
|
|
|
end
|
|
|
|
|
it 'returns the source as student_surveys' do
|
|
|
|
|
expect(measure.sources).to eq [:student_surveys]
|
|
|
|
|
end
|
|
|
|
|
# it 'returns the source as student_surveys' do
|
|
|
|
|
# expect(measure.sources).to eq [Source.new(name: :student_surveys, collection: measure.student_survey_items)]
|
|
|
|
|
# end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
context 'when a measure includes only teacher survey items' do
|
|
|
|
|
@ -83,9 +83,9 @@ RSpec.describe Measure, type: :model do
|
|
|
|
|
it 'returns a warning low benchmark equal to the teacher survey item warning low benchmark ' do
|
|
|
|
|
expect(measure.warning_low_benchmark).to eq 1
|
|
|
|
|
end
|
|
|
|
|
it 'returns the source as teacher_surveys' do
|
|
|
|
|
expect(measure.sources).to eq [:teacher_surveys]
|
|
|
|
|
end
|
|
|
|
|
# it 'returns the source as teacher_surveys' do
|
|
|
|
|
# expect(measure.sources).to eq [Source.new(name: :teacher_surveys, collection: measure.teacher_survey_items)]
|
|
|
|
|
# end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
context 'when a measure includes admin data and student survey items' do
|
|
|
|
|
@ -107,9 +107,10 @@ RSpec.describe Measure, type: :model do
|
|
|
|
|
# (2*3 + 1.5)/4
|
|
|
|
|
expect(measure.watch_low_benchmark).to be 1.875
|
|
|
|
|
end
|
|
|
|
|
it 'returns the source as admin and student survey items' do
|
|
|
|
|
expect(measure.sources).to eq %i[admin_data student_surveys]
|
|
|
|
|
end
|
|
|
|
|
# it 'returns the source as admin and student survey items' do
|
|
|
|
|
# expect(measure.sources).to eq [Source.new(name: :admin_data, collection: measure.admin_data_items),
|
|
|
|
|
# Source.new(name: :student_surveys, collection: measure.student_survey_items)]
|
|
|
|
|
# end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
context 'when a measure includes admin data and teacher survey items' do
|
|
|
|
|
@ -131,9 +132,10 @@ RSpec.describe Measure, type: :model do
|
|
|
|
|
# (2*3 + 1.2)/4
|
|
|
|
|
expect(measure.watch_low_benchmark).to be 1.8
|
|
|
|
|
end
|
|
|
|
|
it 'returns the source as admin and teacher survey items' do
|
|
|
|
|
expect(measure.sources).to eq %i[admin_data teacher_surveys]
|
|
|
|
|
end
|
|
|
|
|
# it 'returns the source as admin and teacher survey items' do
|
|
|
|
|
# expect(measure.sources).to eq [Source.new(name: :admin_data, collection: measure.admin_data_items),
|
|
|
|
|
# Source.new(name: :teacher_surveys, collection: measure.teacher_survey_items)]
|
|
|
|
|
# end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
context 'when a measure includes student and teacher survey items' do
|
|
|
|
|
@ -155,9 +157,10 @@ RSpec.describe Measure, type: :model do
|
|
|
|
|
# (1.2+ 1.5)/2
|
|
|
|
|
expect(measure.watch_low_benchmark).to be 1.35
|
|
|
|
|
end
|
|
|
|
|
it 'returns the source as student and teacher survey items' do
|
|
|
|
|
expect(measure.sources).to eq %i[student_surveys teacher_surveys]
|
|
|
|
|
end
|
|
|
|
|
# it 'returns the source as student and teacher survey items' do
|
|
|
|
|
# expect(measure.sources).to eq [Source.new(name: :student_surveys, collection: measure.student_survey_items),
|
|
|
|
|
# Source.new(name: :teacher_surveys, collection: measure.teacher_survey_items)]
|
|
|
|
|
# end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
context 'when a measure includes admin data and student and teacher survey items' do
|
|
|
|
|
@ -191,9 +194,11 @@ RSpec.describe Measure, type: :model do
|
|
|
|
|
expect(measure.ideal_low_benchmark).to be_within(0.001).of 4.74
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
it 'returns the source as admin student and teacher survey items' do
|
|
|
|
|
expect(measure.sources).to eq %i[admin_data student_surveys teacher_surveys]
|
|
|
|
|
end
|
|
|
|
|
# it 'returns the source as admin student and teacher survey items' do
|
|
|
|
|
# expect(measure.sources).to eq [Source.new(name: :admin_data, collection: measure.admin_data_items),
|
|
|
|
|
# Source.new(name: :student_surveys, collection: measure.student_survey_items),
|
|
|
|
|
# Source.new(name: :teacher_surveys, collection: measure.teacher_survey_items)]
|
|
|
|
|
# end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
@ -365,7 +370,7 @@ RSpec.describe Measure, type: :model do
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
context "and the school is a short form school" do
|
|
|
|
|
context 'and the school is a short form school' do
|
|
|
|
|
before :each do
|
|
|
|
|
create_list(:survey_item_response, SurveyItemResponse::STUDENT_RESPONSE_THRESHOLD,
|
|
|
|
|
survey_item: student_survey_item_1, academic_year:, school: short_form_school, likert_score: 1)
|
|
|
|
|
|