diff --git a/app/presenters/grouped_bar_column_presenter.rb b/app/presenters/grouped_bar_column_presenter.rb index 38adfab1..e2a5a884 100644 --- a/app/presenters/grouped_bar_column_presenter.rb +++ b/app/presenters/grouped_bar_column_presenter.rb @@ -1,8 +1,8 @@ class GroupedBarColumnPresenter include AnalyzeHelper - attr_reader :score, :measure_name, :measure_id, :category, :position, :type + attr_reader :score, :measure_name, :measure_id, :category, :position - def initialize(measure:, score:, position:, type:) + def initialize(measure:, score:, position:) @measure = measure @score = score @meets_teacher_threshold = score.meets_teacher_threshold? @@ -11,7 +11,6 @@ class GroupedBarColumnPresenter @measure_id = @measure.measure_id @category = @measure.subcategory.category @position = position - @type = type end def y_offset @@ -59,41 +58,18 @@ class GroupedBarColumnPresenter end def label - case type - when :all - 'All Survey Data' - when :student - 'All Students' - when :teacher - 'All Teachers' - end + 'All Survey Data' end def basis - return '' if type == :all - - type + '' end def show_irrelevancy_message? - return true if type == :student && !@measure.includes_student_survey_items? - - return true if type == :teacher && !@measure.includes_teacher_survey_items? - return true if type == :all && !@measure.includes_teacher_survey_items? && !@measure.includes_student_survey_items? - - false + !@measure.includes_teacher_survey_items? && !@measure.includes_student_survey_items? end def show_insufficient_data_message? - case type - when :all - !score.meets_teacher_threshold? && !score.meets_student_threshold? - when :student - !score.meets_student_threshold? - when :teacher - !score.meets_teacher_threshold? - else - false - end + !score.meets_teacher_threshold? && !score.meets_student_threshold? end end diff --git a/app/presenters/student_grouped_bar_column_presenter.rb b/app/presenters/student_grouped_bar_column_presenter.rb new file mode 100644 index 00000000..3348bfc7 --- /dev/null +++ b/app/presenters/student_grouped_bar_column_presenter.rb @@ -0,0 +1,21 @@ +class StudentGroupedBarColumnPresenter < GroupedBarColumnPresenter + def label + 'All Students' + end + + def basis + 'student' + end + + def show_irrelevancy_message? + !@measure.includes_student_survey_items? + end + + def show_insufficient_data_message? + !score.meets_student_threshold? + end + + # def score + # @measure.student_score(school: @school, academic_year: @academic_year) + # end +end diff --git a/app/presenters/teacher_grouped_bar_column_presenter.rb b/app/presenters/teacher_grouped_bar_column_presenter.rb new file mode 100644 index 00000000..c7f27a5e --- /dev/null +++ b/app/presenters/teacher_grouped_bar_column_presenter.rb @@ -0,0 +1,21 @@ +class TeacherGroupedBarColumnPresenter < GroupedBarColumnPresenter + def label + 'All Teachers' + end + + def basis + 'teacher' + end + + def show_irrelevancy_message? + !@measure.includes_teacher_survey_items? + end + + def show_insufficient_data_message? + !score.meets_teacher_threshold? + end + + # def score + # @measure.teacher_score(school: @school, academic_year: @academic_year) + # end +end diff --git a/app/views/analyze/_grouped_bar_chart.html.erb b/app/views/analyze/_grouped_bar_chart.html.erb index f49c1208..fa6e8f4f 100644 --- a/app/views/analyze/_grouped_bar_chart.html.erb +++ b/app/views/analyze/_grouped_bar_chart.html.erb @@ -31,11 +31,11 @@ -<% presenter = GroupedBarColumnPresenter.new(measure: measure, score: measure.student_score(school: @school, academic_year: @academic_year), position: 1, type: :student) %> +<% presenter = StudentGroupedBarColumnPresenter.new(measure: measure, score: measure.student_score(school: @school, academic_year: @academic_year), position: 1) %> <%= render partial: "grouped_bar_column", locals: {presenter: presenter} %> -<% presenter = GroupedBarColumnPresenter.new(measure: measure, score: measure.teacher_score(school: @school, academic_year: @academic_year), position: 2, type: :teacher) %> +<% presenter = TeacherGroupedBarColumnPresenter.new(measure: measure, score: measure.teacher_score(school: @school, academic_year: @academic_year), position: 2) %> <%= render partial: "grouped_bar_column", locals: {presenter: presenter} %> -<% presenter = GroupedBarColumnPresenter.new(measure: measure, score: measure.score(school: @school, academic_year: @academic_year), position: 3, type: :all) %> +<% presenter = GroupedBarColumnPresenter.new(measure: measure, score: measure.score(school: @school, academic_year: @academic_year), position: 3) %> <%= render partial: "grouped_bar_column", locals: {presenter: presenter} %> diff --git a/spec/views/analyze/index.html.erb_spec.rb b/spec/views/analyze/index.html.erb_spec.rb index 8ce6594f..6d5a1902 100644 --- a/spec/views/analyze/index.html.erb_spec.rb +++ b/spec/views/analyze/index.html.erb_spec.rb @@ -101,4 +101,7 @@ describe 'analyze/index' do expect(subject).to have_css "##{academic_year.range}" end end + + context 'when presenters have a score' do + end end