diff --git a/spec/views/analyze/index.html.erb_spec.rb b/spec/views/analyze/index.html.erb_spec.rb deleted file mode 100644 index c96b43ef..00000000 --- a/spec/views/analyze/index.html.erb_spec.rb +++ /dev/null @@ -1,162 +0,0 @@ -require "rails_helper" -include AnalyzeHelper -include Analyze::Graph -describe "analyze/index" do - subject { Nokogiri::HTML(rendered) } - let(:category) { create(:category) } - let(:subcategory) { create(:subcategory, category:) } - let(:school) { create(:school) } - let(:academic_year) { create(:academic_year) } - let(:races) do - DemographicLoader.load_data(filepath: "spec/fixtures/sample_demographics.csv") - Race.all - end - let(:background) { BackgroundPresenter.new(num_of_columns: graph.columns.count) } - - let(:support_for_teaching) do - measure = create(:measure, name: "Support For Teaching Development & Growth", measure_id: "1A-I", subcategory:) - scale = create(:scale, measure:) - create(:student_survey_item, - scale:, - watch_low_benchmark: 1.5, - growth_low_benchmark: 2.5, - approval_low_benchmark: 3.5, - ideal_low_benchmark: 4.5) - measure - end - - let(:effective_leadership) do - measure = create(:measure, name: "Effective Leadership", measure_id: "1A-II", subcategory:) - scale = create(:scale, measure:) - create(:teacher_survey_item, - scale:, - watch_low_benchmark: 1.5, - growth_low_benchmark: 2.5, - approval_low_benchmark: 3.5, - ideal_low_benchmark: 4.5) - measure - end - - let(:professional_qualifications) do - measure = create(:measure, name: "Professional Qualifications", measure_id: "1A-III", subcategory:) - scale = create(:scale, measure:) - create(:admin_data_item, - scale:, - watch_low_benchmark: 1.5, - growth_low_benchmark: 2.5, - approval_low_benchmark: 3.5, - ideal_low_benchmark: 4.5) - measure - end - - let(:genders) do - DemographicLoader.load_data(filepath: "spec/fixtures/sample_demographics.csv") - Gender.all - end - - let(:respondent) { create(:respondent, school:, academic_year:) } - - before :each do - races - category - subcategory - support_for_teaching - effective_leadership - professional_qualifications - respondent - assign :academic_year, academic_year - assign :district, create(:district) - assign :school, school - assign :presenter, - Analyze::Presenter.new(school:, academic_year:, - params: { category: category.category_id, subcategory: subcategory.subcategory_id, races: "american-indian-or-alaskan-native,asian-or-pacific-islander,black-or-african-american,hispanic-or-latinx,middle-eastern,multiracial,race-ethnicity-not-listed,white-or-caucasian", source: "survey-data-only", slice: "students-and-teachers", group: "race", graph: "students-by-race" }) - assign :background, BackgroundPresenter.new(num_of_columns: 4) - end - context "when all the presenters have a nil score" do - before do - render - end - # let(:grouped_bar_column_presenters) do - # measure = create(:measure, name: 'Display Me', measure_id: 'display-me') - # scale = create(:scale, measure:) - # create(:student_survey_item, - # scale:, - # watch_low_benchmark: 1.5, - # growth_low_benchmark: 2.5, - # approval_low_benchmark: 3.5, - # ideal_low_benchmark: 4.5) - # [ - # GroupedBarColumnPresenter.new(measure:, - # score: Score.new(average: rand)) - # ] - # end - - it "displays a set of grouped bars for each presenter" do - displayed_variance_columns = subject.css(".grouped-bar-column") - expect(displayed_variance_columns.count).to eq 27 - - displayed_variance_rows = subject.css("[data-for-measure-id]") - expect(displayed_variance_rows.first.attribute("data-for-measure-id").value).to eq "1A-I" - - displayed_academic_years = subject.css("[data-for-academic-year]") - expect(displayed_academic_years.count).to eq 0 - - displayed_variance_labels = subject.css("[data-grouped-bar-label]") - - expect(displayed_variance_labels.count).to eq 39 - expect(displayed_variance_labels.first.inner_text).to include "American" - expect(displayed_variance_labels.text).to include "Indian" - expect(displayed_variance_labels.text).to include "Asian" - expect(displayed_variance_labels.text).to include "Black" - expect(displayed_variance_labels.text).to include "White" - expect(displayed_variance_labels.text).to include "Hispanic" - expect(displayed_variance_labels.text).to include "Middle" - expect(displayed_variance_labels.text).to include "Eastern" - expect(displayed_variance_labels.text).to include "Multiracial" - expect(displayed_variance_labels.text).to include "Not" - expect(displayed_variance_labels.text).to include "Listed" - end - - it "displays all measures for the first subcategory" do - expect(rendered).to have_text "1A-I" - expect(rendered).to have_text "1A-II" - expect(rendered).to have_text "1A-III" - end - - it "displays user interface controls" do - expect(subject).to have_text "Focus Area" - expect(subject).to have_css "#select-category" - expect(subject).to have_css "#select-subcategory" - expect(subject).to have_css "##{academic_year.range}" - end - - it "displays disabled checkboxes for years that dont have data" do - year_checkbox = subject.css("##{academic_year.range}").first - expect(year_checkbox.name).to eq "input" - expect(academic_year.range).to eq "2050-51" - expect(year_checkbox).to have_attribute "disabled" - end - - it "displays a radio box selector for each type of data filter" do - expect(subject).to have_css "#students-and-teachers" - expect(subject).to have_css "#students-by-group" - end - - it "displays a checkbox for each race designation" do - race_slugs = %w[race-american-indian-or-alaskan-native race-asian-or-pacific-islander race-black-or-african-american - race-hispanic-or-latinx race-middle-eastern race-multiracial race-race-ethnicity-not-listed race-white-or-caucasian] - race_slugs.each do |slug| - expect(subject).to have_css("//input[@type='checkbox'][@id='#{slug}']") - end - end - end - - context "when presenters have a displayable score" do - before do - render - end - - context "when displaying a student and teacher graph" do - end - end -end