mirror of
https://github.com/edcommonwealth/sqm-dashboards.git
synced 2026-03-07 21:48:16 -08:00
Fix ordering of bars
This commit is contained in:
parent
516701332d
commit
00d0bf1e02
3 changed files with 36 additions and 7 deletions
|
|
@ -30,12 +30,19 @@ class MeasureGraphRowPresenter
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def <=>(other_presenter)
|
def order
|
||||||
if x_offset.to_f == other_presenter.x_offset.to_f
|
case zone.type
|
||||||
return bar_width.to_f <=> other_presenter.bar_width.to_f
|
when :ideal, :approval
|
||||||
|
bar_width_percentage
|
||||||
|
when :warning, :watch, :growth
|
||||||
|
-bar_width_percentage
|
||||||
|
when :no_zone
|
||||||
|
-100
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
x_offset.to_f <=> other_presenter.x_offset.to_f
|
def <=>(other_presenter)
|
||||||
|
order <=> other_presenter.order
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
@ -56,8 +63,10 @@ class MeasureGraphRowPresenter
|
||||||
(1 - percentage) * GROWTH_ZONE_WIDTH_PERCENTAGE
|
(1 - percentage) * GROWTH_ZONE_WIDTH_PERCENTAGE
|
||||||
when :watch
|
when :watch
|
||||||
(1 - percentage) * WATCH_ZONE_WIDTH_PERCENTAGE + GROWTH_ZONE_WIDTH_PERCENTAGE
|
(1 - percentage) * WATCH_ZONE_WIDTH_PERCENTAGE + GROWTH_ZONE_WIDTH_PERCENTAGE
|
||||||
else
|
when :warning
|
||||||
(1 - percentage) * WARNING_ZONE_WIDTH_PERCENTAGE + WATCH_ZONE_WIDTH_PERCENTAGE + GROWTH_ZONE_WIDTH_PERCENTAGE
|
(1 - percentage) * WARNING_ZONE_WIDTH_PERCENTAGE + WATCH_ZONE_WIDTH_PERCENTAGE + GROWTH_ZONE_WIDTH_PERCENTAGE
|
||||||
|
else
|
||||||
|
0.0
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ class Scale
|
||||||
@growth_low_benchmark = growth_low_benchmark
|
@growth_low_benchmark = growth_low_benchmark
|
||||||
@approval_low_benchmark = approval_low_benchmark
|
@approval_low_benchmark = approval_low_benchmark
|
||||||
@ideal_low_benchmark = ideal_low_benchmark
|
@ideal_low_benchmark = ideal_low_benchmark
|
||||||
|
@warning_low_benchmark = 1
|
||||||
end
|
end
|
||||||
|
|
||||||
Zone = Struct.new(:low_benchmark, :high_benchmark, :type)
|
Zone = Struct.new(:low_benchmark, :high_benchmark, :type)
|
||||||
|
|
@ -28,6 +29,10 @@ class Scale
|
||||||
Zone.new(@ideal_low_benchmark, 5.0, :ideal)
|
Zone.new(@ideal_low_benchmark, 5.0, :ideal)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def no_zone
|
||||||
|
Zone.new(0,@warning_low_benchmark,:no_zone)
|
||||||
|
end
|
||||||
|
|
||||||
def zone_for_score(score)
|
def zone_for_score(score)
|
||||||
case score
|
case score
|
||||||
when ideal_zone.low_benchmark..ideal_zone.high_benchmark
|
when ideal_zone.low_benchmark..ideal_zone.high_benchmark
|
||||||
|
|
@ -38,8 +43,10 @@ class Scale
|
||||||
growth_zone
|
growth_zone
|
||||||
when watch_zone.low_benchmark..watch_zone.high_benchmark
|
when watch_zone.low_benchmark..watch_zone.high_benchmark
|
||||||
watch_zone
|
watch_zone
|
||||||
else
|
when 1..warning_zone.high_benchmark
|
||||||
warning_zone
|
warning_zone
|
||||||
|
else
|
||||||
|
no_zone
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@ feature 'School dashboard', type: feature do
|
||||||
let(:measure_1A_i) { Measure.find_by_measure_id('1A-i') }
|
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_i) { Measure.find_by_measure_id('2A-i') }
|
||||||
let(:measure_4C_i) { Measure.find_by_measure_id('4C-i') }
|
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_item_1_for_measure_1A_i) { SurveyItem.create measure: measure_1A_i, survey_item_id: rand.to_s }
|
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_2_for_measure_1A_i) { SurveyItem.create measure: measure_1A_i, survey_item_id: rand.to_s }
|
||||||
|
|
@ -80,6 +81,17 @@ feature 'School dashboard', type: feature do
|
||||||
expect(problem_solving_emphasis_row['width']).to eq '50.0%'
|
expect(problem_solving_emphasis_row['width']).to eq '50.0%'
|
||||||
expect(problem_solving_emphasis_row['x']).to eq '0.0%'
|
expect(problem_solving_emphasis_row['x']).to eq '0.0%'
|
||||||
|
|
||||||
|
measure_row_bar_with_no_responses = measure_row_bars.find { |item| item['data-for-measure-id'] == '3A-i' }
|
||||||
|
|
||||||
|
# puts measure_with_no_survey_responses.id
|
||||||
|
# puts measure_with_no_survey_responses.measure_id
|
||||||
|
# survey_item_responses = SurveyItemResponse.for_measure(measure_with_no_survey_responses)
|
||||||
|
# responses_count = SurveyItemResponse.count
|
||||||
|
|
||||||
|
# expect(responses_count).to eq survey_item_responses.count
|
||||||
|
# expect(survey_item_responses.count).to eq 0
|
||||||
|
expect(measure_row_bar_with_no_responses['width']).to eq '0.0%'
|
||||||
|
|
||||||
page.assert_selector('.measure-row-bar', count: Measure.count)
|
page.assert_selector('.measure-row-bar', count: Measure.count)
|
||||||
professional_qualifications_row_index = measure_row_bars.find_index { |item| item['data-for-measure-id'] == '1A-i' }
|
professional_qualifications_row_index = measure_row_bars.find_index { |item| item['data-for-measure-id'] == '1A-i' }
|
||||||
student_physical_safety_row_index = measure_row_bars.find_index { |item| item['data-for-measure-id'] == '2A-i' }
|
student_physical_safety_row_index = measure_row_bars.find_index { |item| item['data-for-measure-id'] == '2A-i' }
|
||||||
|
|
@ -91,7 +103,8 @@ feature 'School dashboard', type: feature do
|
||||||
|
|
||||||
expect(page).to have_text('Teachers & Leadership')
|
expect(page).to have_text('Teachers & Leadership')
|
||||||
expect(page).to have_text('Approval')
|
expect(page).to have_text('Approval')
|
||||||
end
|
|
||||||
|
end
|
||||||
|
|
||||||
# visit photos_path
|
# visit photos_path
|
||||||
# assert_selector 'h1', text: 'Photos'
|
# assert_selector 'h1', text: 'Photos'
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue