Merge pull request #4668 from consul/official_level_search

Remove official level filter from advanced search
This commit is contained in:
Javi Martín
2021-09-14 13:18:55 +02:00
committed by GitHub
7 changed files with 203 additions and 343 deletions

View File

@@ -6,12 +6,12 @@
@include breakpoint(large) { @include breakpoint(large) {
.filter { .filter {
@include grid-column; @include grid-column;
width: 25%; width: 33%;
} }
.date-filters { .date-filters {
float: left; float: left;
width: 25%; width: 33%;
.filter { .filter {
width: 100%; width: 100%;
@@ -23,7 +23,7 @@
} }
.submit { .submit {
width: 25%; width: 33%;
} }
} }

View File

@@ -8,8 +8,7 @@
<label for="search"> <label for="search">
<%= t("shared.advanced_search.general") %> <%= t("shared.advanced_search.general") %>
</label> </label>
<%= text_field_tag "search", params[:search], <%= text_field_tag "search", params[:search] %>
placeholder: t("shared.advanced_search.general_placeholder") %>
</div> </div>
<div class="date-filters"> <div class="date-filters">
@@ -40,12 +39,6 @@
</div> </div>
</div> </div>
<div class="filter">
<label for="advanced_search_official_level"><%= t("shared.advanced_search.author_type") %></label>
<%= select_tag("advanced_search[official_level]", official_level_search_options,
include_blank: t("shared.advanced_search.author_type_blank")) %>
</div>
<% if sdg? %> <% if sdg? %>
<div class="filter"> <div class="filter">
<label for="advanced_search_goal"><%= t("shared.advanced_search.goal") %></label> <label for="advanced_search_goal"><%= t("shared.advanced_search.goal") %></label>

View File

@@ -7,11 +7,6 @@ class Shared::AdvancedSearchComponent < ApplicationComponent
params[:advanced_search] || {} params[:advanced_search] || {}
end end
def official_level_search_options
options_for_select((1..5).map { |i| [setting["official_level_#{i}_name"], i] },
advanced_search[:official_level])
end
def date_range_options def date_range_options
options_for_select([ options_for_select([
[t("shared.advanced_search.date_1"), 1], [t("shared.advanced_search.date_1"), 1],

View File

@@ -20,7 +20,7 @@ module Filterable
def allowed_filter?(filter, value) def allowed_filter?(filter, value)
return if value.blank? return if value.blank?
["official_level", "date_range", "goal", "target"].include?(filter) ["date_range", "goal", "target"].include?(filter)
end end
end end
end end

View File

@@ -673,8 +673,6 @@ en:
"no": "No" "no": "No"
search_results: "Search results" search_results: "Search results"
advanced_search: advanced_search:
author_type: "By author category"
author_type_blank: "Select a category"
date: "By date" date: "By date"
date_placeholder: "DD/MM/YYYY" date_placeholder: "DD/MM/YYYY"
date_range_blank: "Choose a date" date_range_blank: "Choose a date"
@@ -685,7 +683,6 @@ en:
date_5: "Customized" date_5: "Customized"
from: "From" from: "From"
general: "With the text" general: "With the text"
general_placeholder: "Write the text"
goal: "By SDG" goal: "By SDG"
goal_blank: "Select a goal" goal_blank: "Select a goal"
search: "Filter" search: "Filter"

View File

@@ -673,8 +673,6 @@ es:
"no": "No" "no": "No"
search_results: "Resultados de la búsqueda" search_results: "Resultados de la búsqueda"
advanced_search: advanced_search:
author_type: "Por categoría de autor"
author_type_blank: "Elige una categoría"
date: "Por fecha" date: "Por fecha"
date_placeholder: "DD/MM/AAAA" date_placeholder: "DD/MM/AAAA"
date_range_blank: "Elige una fecha" date_range_blank: "Elige una fecha"
@@ -685,7 +683,6 @@ es:
date_5: "Personalizada" date_5: "Personalizada"
from: "Desde" from: "Desde"
general: "Con el texto" general: "Con el texto"
general_placeholder: "Escribe el texto"
goal: "Por ODS" goal: "Por ODS"
goal_blank: "Elige un objetivo" goal_blank: "Elige un objetivo"
search: "Filtrar" search: "Filtrar"

View File

@@ -12,7 +12,7 @@ describe "Advanced search" do
visit debates_path visit debates_path
click_button "Advanced search" click_button "Advanced search"
fill_in "Write the text", with: "Schwifty" fill_in "With the text", with: "Schwifty"
click_button "Filter" click_button "Filter"
expect(page).to have_content("There are 2 debates") expect(page).to have_content("There are 2 debates")
@@ -32,7 +32,7 @@ describe "Advanced search" do
visit proposals_path visit proposals_path
click_button "Advanced search" click_button "Advanced search"
fill_in "Write the text", with: "Schwifty" fill_in "With the text", with: "Schwifty"
click_button "Filter" click_button "Filter"
expect(page).to have_content("There are 2 citizen proposals") expect(page).to have_content("There are 2 citizen proposals")
@@ -52,7 +52,7 @@ describe "Advanced search" do
visit budget_investments_path(budget) visit budget_investments_path(budget)
click_button "Advanced search" click_button "Advanced search"
fill_in "Write the text", with: "Schwifty" fill_in "With the text", with: "Schwifty"
click_button "Filter" click_button "Filter"
expect(page).to have_content("There are 2 investments") expect(page).to have_content("There are 2 investments")
@@ -64,222 +64,37 @@ describe "Advanced search" do
end end
end end
context "Search by author type" do context "Search by date" do
scenario "Public employee" do context "Predefined date ranges" do
Setting["official_level_1_name"] = "Official position 1" scenario "Last day" do
ana = create :user, official_level: 1 bdgt_invest1 = create(:budget_investment, heading: heading, created_at: 1.minute.ago)
john = create :user, official_level: 2 bdgt_invest2 = create(:budget_investment, heading: heading, created_at: 1.hour.ago)
bdgt_invest3 = create(:budget_investment, heading: heading, created_at: 2.days.ago)
debate1 = create(:debate, author: ana) visit budget_investments_path(budget)
debate2 = create(:debate, author: ana)
debate3 = create(:debate, author: john)
visit debates_path click_button "Advanced search"
select "Last 24 hours", from: "js-advanced-search-date-min"
click_button "Filter"
click_button "Advanced search" expect(page).to have_content("There are 2 investments")
select "Official position 1", from: "advanced_search_official_level"
click_button "Filter"
expect(page).to have_content("There are 2 debates") within("#budget-investments") do
expect(page).to have_content(bdgt_invest1.title)
within("#debates") do expect(page).to have_content(bdgt_invest2.title)
expect(page).to have_content(debate1.title) expect(page).not_to have_content(bdgt_invest3.title)
expect(page).to have_content(debate2.title)
expect(page).not_to have_content(debate3.title)
end
end
scenario "Municipal Organization" do
Setting["official_level_2_name"] = "Official position 2"
ana = create :user, official_level: 2
john = create :user, official_level: 3
proposal1 = create(:proposal, author: ana)
proposal2 = create(:proposal, author: ana)
proposal3 = create(:proposal, author: john)
visit proposals_path
click_button "Advanced search"
select "Official position 2", from: "advanced_search_official_level"
click_button "Filter"
expect(page).to have_content("There are 2 citizen proposals")
within("#proposals") do
expect(page).to have_content(proposal1.title)
expect(page).to have_content(proposal2.title)
expect(page).not_to have_content(proposal3.title)
end
end
scenario "General director" do
Setting["official_level_3_name"] = "Official position 3"
ana = create :user, official_level: 3
john = create :user, official_level: 4
bdgt_invest1 = create(:budget_investment, heading: heading, author: ana)
bdgt_invest2 = create(:budget_investment, heading: heading, author: ana)
bdgt_invest3 = create(:budget_investment, heading: heading, author: john)
visit budget_investments_path(budget)
click_button "Advanced search"
select "Official position 3", from: "advanced_search_official_level"
click_button "Filter"
expect(page).to have_content("There are 2 investments")
within("#budget-investments") do
expect(page).to have_content(bdgt_invest1.title)
expect(page).to have_content(bdgt_invest2.title)
expect(page).not_to have_content(bdgt_invest3.title)
end
end
scenario "City councillor" do
Setting["official_level_4_name"] = "Official position 4"
ana = create :user, official_level: 4
john = create :user, official_level: 5
debate1 = create(:debate, author: ana)
debate2 = create(:debate, author: ana)
debate3 = create(:debate, author: john)
visit debates_path
click_button "Advanced search"
select "Official position 4", from: "advanced_search_official_level"
click_button "Filter"
expect(page).to have_content("There are 2 debates")
within("#debates") do
expect(page).to have_content(debate1.title)
expect(page).to have_content(debate2.title)
expect(page).not_to have_content(debate3.title)
end
end
scenario "Mayoress" do
Setting["official_level_5_name"] = "Official position 5"
ana = create :user, official_level: 5
john = create :user, official_level: 4
proposal1 = create(:proposal, author: ana)
proposal2 = create(:proposal, author: ana)
proposal3 = create(:proposal, author: john)
visit proposals_path
click_button "Advanced search"
select "Official position 5", from: "advanced_search_official_level"
click_button "Filter"
expect(page).to have_content("There are 2 citizen proposals")
within("#proposals") do
expect(page).to have_content(proposal1.title)
expect(page).to have_content(proposal2.title)
expect(page).not_to have_content(proposal3.title)
end
end
context "Search by date" do
context "Predefined date ranges" do
scenario "Last day" do
bdgt_invest1 = create(:budget_investment, heading: heading, created_at: 1.minute.ago)
bdgt_invest2 = create(:budget_investment, heading: heading, created_at: 1.hour.ago)
bdgt_invest3 = create(:budget_investment, heading: heading, created_at: 2.days.ago)
visit budget_investments_path(budget)
click_button "Advanced search"
select "Last 24 hours", from: "js-advanced-search-date-min"
click_button "Filter"
expect(page).to have_content("There are 2 investments")
within("#budget-investments") do
expect(page).to have_content(bdgt_invest1.title)
expect(page).to have_content(bdgt_invest2.title)
expect(page).not_to have_content(bdgt_invest3.title)
end
end
scenario "Last week" do
debate1 = create(:debate, created_at: 1.day.ago)
debate2 = create(:debate, created_at: 5.days.ago)
debate3 = create(:debate, created_at: 8.days.ago)
visit debates_path
click_button "Advanced search"
select "Last week", from: "js-advanced-search-date-min"
click_button "Filter"
within("#debates") do
expect(page).to have_css(".debate", count: 2)
expect(page).to have_content(debate1.title)
expect(page).to have_content(debate2.title)
expect(page).not_to have_content(debate3.title)
end
end
scenario "Last month" do
proposal1 = create(:proposal, created_at: 10.days.ago)
proposal2 = create(:proposal, created_at: 20.days.ago)
proposal3 = create(:proposal, created_at: 33.days.ago)
visit proposals_path
click_button "Advanced search"
select "Last month", from: "js-advanced-search-date-min"
click_button "Filter"
expect(page).to have_content("There are 2 citizen proposals")
within("#proposals") do
expect(page).to have_content(proposal1.title)
expect(page).to have_content(proposal2.title)
expect(page).not_to have_content(proposal3.title)
end
end
scenario "Last year" do
bdgt_invest1 = create(:budget_investment, heading: heading, created_at: 300.days.ago)
bdgt_invest2 = create(:budget_investment, heading: heading, created_at: 350.days.ago)
bdgt_invest3 = create(:budget_investment, heading: heading, created_at: 370.days.ago)
visit budget_investments_path(budget)
click_button "Advanced search"
select "Last year", from: "js-advanced-search-date-min"
click_button "Filter"
expect(page).to have_content("There are 2 investments")
within("#budget-investments") do
expect(page).to have_content(bdgt_invest1.title)
expect(page).to have_content(bdgt_invest2.title)
expect(page).not_to have_content(bdgt_invest3.title)
end
end end
end end
scenario "Search by custom date range" do scenario "Last week" do
debate1 = create(:debate, created_at: 2.days.ago) debate1 = create(:debate, created_at: 1.day.ago)
debate2 = create(:debate, created_at: 3.days.ago) debate2 = create(:debate, created_at: 5.days.ago)
debate3 = create(:debate, created_at: 9.days.ago) debate3 = create(:debate, created_at: 8.days.ago)
visit debates_path visit debates_path
click_button "Advanced search" click_button "Advanced search"
select "Customized", from: "js-advanced-search-date-min" select "Last week", from: "js-advanced-search-date-min"
fill_in "advanced_search_date_min", with: 7.days.ago.strftime("%d/%m/%Y")
fill_in "advanced_search_date_max", with: 1.day.ago.strftime("%d/%m/%Y")
find_field("With the text").click
click_button "Filter" click_button "Filter"
within("#debates") do within("#debates") do
@@ -291,163 +106,226 @@ describe "Advanced search" do
end end
end end
scenario "Search by custom invalid date range" do scenario "Last month" do
proposal1 = create(:proposal, created_at: 2.days.ago) proposal1 = create(:proposal, created_at: 10.days.ago)
proposal2 = create(:proposal, created_at: 3.days.ago) proposal2 = create(:proposal, created_at: 20.days.ago)
proposal3 = create(:proposal, created_at: 9.days.ago) proposal3 = create(:proposal, created_at: 33.days.ago)
visit proposals_path visit proposals_path
click_button "Advanced search" click_button "Advanced search"
select "Customized", from: "js-advanced-search-date-min" select "Last month", from: "js-advanced-search-date-min"
fill_in "advanced_search_date_min", with: 4000.years.ago.strftime("%d/%m/%Y")
fill_in "advanced_search_date_max", with: "13/13/2199"
find_field("With the text").click
click_button "Filter" click_button "Filter"
expect(page).to have_content("There are 3 citizen proposals") expect(page).to have_content("There are 2 citizen proposals")
within("#proposals") do within("#proposals") do
expect(page).to have_content(proposal1.title) expect(page).to have_content(proposal1.title)
expect(page).to have_content(proposal2.title) expect(page).to have_content(proposal2.title)
expect(page).to have_content(proposal3.title) expect(page).not_to have_content(proposal3.title)
end end
end end
scenario "Search by multiple filters" do scenario "Last year" do
Setting["official_level_1_name"] = "Official position 1" bdgt_invest1 = create(:budget_investment, heading: heading, created_at: 300.days.ago)
ana = create :user, official_level: 1 bdgt_invest2 = create(:budget_investment, heading: heading, created_at: 350.days.ago)
john = create :user, official_level: 1 bdgt_invest3 = create(:budget_investment, heading: heading, created_at: 370.days.ago)
create(:budget_investment, heading: heading, title: "Get Schwifty", author: ana, created_at: 1.minute.ago)
create(:budget_investment, heading: heading, title: "Hello Schwifty", author: john, created_at: 2.days.ago)
create(:budget_investment, heading: heading, title: "Save the forest")
visit budget_investments_path(budget) visit budget_investments_path(budget)
click_button "Advanced search" click_button "Advanced search"
fill_in "Write the text", with: "Schwifty" select "Last year", from: "js-advanced-search-date-min"
select "Official position 1", from: "advanced_search_official_level"
select "Last 24 hours", from: "js-advanced-search-date-min"
click_button "Filter" click_button "Filter"
expect(page).to have_content("There is 1 investment") expect(page).to have_content("There are 2 investments")
within("#budget-investments") do within("#budget-investments") do
expect(page).to have_content "Get Schwifty" expect(page).to have_content(bdgt_invest1.title)
end expect(page).to have_content(bdgt_invest2.title)
end expect(page).not_to have_content(bdgt_invest3.title)
scenario "Maintain advanced search criteria" do
Setting["official_level_1_name"] = "Official position 1"
visit debates_path
click_button "Advanced search"
fill_in "Write the text", with: "Schwifty"
select "Official position 1", from: "advanced_search_official_level"
select "Last 24 hours", from: "js-advanced-search-date-min"
click_button "Filter"
within ".advanced-search-form" do
expect(page).to have_selector("input[name='search'][value='Schwifty']")
expect(page).to have_select("advanced_search[official_level]", selected: "Official position 1")
expect(page).to have_select("advanced_search[date_min]", selected: "Last 24 hours")
end
end
scenario "Maintain custom date search criteria" do
visit proposals_path
click_button "Advanced search"
select "Customized", from: "js-advanced-search-date-min"
fill_in "advanced_search_date_min", with: 7.days.ago.strftime("%d/%m/%Y")
fill_in "advanced_search_date_max", with: 1.day.ago.strftime("%d/%m/%Y")
find_field("With the text").click
click_button "Filter"
expect(page).to have_content("citizen proposals cannot be found")
within ".advanced-search-form" do
expect(page).to have_select("advanced_search[date_min]", selected: "Customized")
expect(page).to have_selector("input[name='advanced_search[date_min]'][value*='#{7.days.ago.strftime("%d/%m/%Y")}']")
expect(page).to have_selector("input[name='advanced_search[date_max]'][value*='#{1.day.ago.strftime("%d/%m/%Y")}']")
end end
end end
end end
describe "SDG" do scenario "Search by custom date range" do
before do debate1 = create(:debate, created_at: 2.days.ago)
Setting["feature.sdg"] = true debate2 = create(:debate, created_at: 3.days.ago)
Setting["sdg.process.debates"] = true debate3 = create(:debate, created_at: 9.days.ago)
Setting["sdg.process.proposals"] = true
Setting["sdg.process.budgets"] = true visit debates_path
click_button "Advanced search"
select "Customized", from: "js-advanced-search-date-min"
fill_in "advanced_search_date_min", with: 7.days.ago.strftime("%d/%m/%Y")
fill_in "advanced_search_date_max", with: 1.day.ago.strftime("%d/%m/%Y")
find_field("With the text").click
click_button "Filter"
within("#debates") do
expect(page).to have_css(".debate", count: 2)
expect(page).to have_content(debate1.title)
expect(page).to have_content(debate2.title)
expect(page).not_to have_content(debate3.title)
end end
end
scenario "Search by goal" do scenario "Search by custom invalid date range" do
create(:budget_investment, title: "Purifier", heading: heading, sdg_goals: [SDG::Goal[6]]) proposal1 = create(:proposal, created_at: 2.days.ago)
create(:budget_investment, title: "Hospital", heading: heading, sdg_goals: [SDG::Goal[3]]) proposal2 = create(:proposal, created_at: 3.days.ago)
proposal3 = create(:proposal, created_at: 9.days.ago)
visit budget_investments_path(budget) visit proposals_path
click_button "Advanced search"
select "6. Clean Water and Sanitation", from: "By SDG"
click_button "Filter"
expect(page).to have_content("There is 1 investment") click_button "Advanced search"
select "Customized", from: "js-advanced-search-date-min"
fill_in "advanced_search_date_min", with: 4000.years.ago.strftime("%d/%m/%Y")
fill_in "advanced_search_date_max", with: "13/13/2199"
find_field("With the text").click
click_button "Filter"
within("#budget-investments") do expect(page).to have_content("There are 3 citizen proposals")
expect(page).to have_content "Purifier"
expect(page).not_to have_content "Hospital"
end
expect(page).to have_select "By target", within("#proposals") do
selected: "Select a target", expect(page).to have_content(proposal1.title)
enabled_options: ["Select a target"] + %w[6.1 6.2 6.3 6.4 6.5 6.6 6.A 6.B] expect(page).to have_content(proposal2.title)
expect(page).to have_content(proposal3.title)
end end
end
scenario "Search by target" do scenario "Search by multiple filters" do
create(:debate, title: "Unrelated") Setting["feature.sdg"] = true
create(:debate, title: "High school", sdg_targets: [SDG::Target["4.1"]]) Setting["sdg.process.budgets"] = true
create(:debate, title: "Preschool", sdg_targets: [SDG::Target["4.2"]])
visit debates_path create(:budget_investment, heading: heading, title: "Get Schwifty", sdg_goals: [SDG::Goal[7]], created_at: 1.minute.ago)
click_button "Advanced search" create(:budget_investment, heading: heading, title: "Hello Schwifty", sdg_goals: [SDG::Goal[7]], created_at: 2.days.ago)
select "4.2", from: "By target" create(:budget_investment, heading: heading, title: "Save the forest")
click_button "Filter"
expect(page).to have_content("There is 1 debate") visit budget_investments_path(budget)
within("#debates") do click_button "Advanced search"
expect(page).to have_content("Preschool") fill_in "With the text", with: "Schwifty"
expect(page).not_to have_content("High school") select "7. Affordable and Clean Energy", from: "By SDG"
expect(page).not_to have_content("Unrelated") select "Last 24 hours", from: "js-advanced-search-date-min"
end
click_button "Filter"
expect(page).to have_content("There is 1 investment")
within("#budget-investments") do
expect(page).to have_content "Get Schwifty"
end end
end
scenario "Dynamic target options depending on the selected goal" do scenario "Maintain advanced search criteria" do
visit proposals_path Setting["feature.sdg"] = true
Setting["sdg.process.debates"] = true
click_button "Advanced search" visit debates_path
select "1. No Poverty", from: "By SDG" click_button "Advanced search"
expect(page).to have_select "By target", fill_in "With the text", with: "Schwifty"
selected: "Select a target", select "7. Affordable and Clean Energy", from: "By SDG"
enabled_options: ["Select a target"] + %w[1.1 1.2 1.3 1.4 1.5 1.A 1.B] select "Last 24 hours", from: "js-advanced-search-date-min"
select "1.1", from: "By target" click_button "Filter"
select "13. Climate Action", from: "By SDG"
expect(page).to have_select "By target", within ".advanced-search-form" do
selected: "Select a target", expect(page).to have_selector("input[name='search'][value='Schwifty']")
enabled_options: ["Select a target"] + %w[13.1 13.2 13.3 13.A 13.B] expect(page).to have_select("By SDG", selected: "7. Affordable and Clean Energy")
expect(page).to have_select("advanced_search[date_min]", selected: "Last 24 hours")
end
end
select "13.1", from: "By target" scenario "Maintain custom date search criteria" do
select "Select a goal", from: "By SDG" visit proposals_path
click_button "Advanced search"
expect(page).to have_select "By target", selected: "13.1", disabled_options: [] select "Customized", from: "js-advanced-search-date-min"
fill_in "advanced_search_date_min", with: 7.days.ago.strftime("%d/%m/%Y")
fill_in "advanced_search_date_max", with: 1.day.ago.strftime("%d/%m/%Y")
find_field("With the text").click
click_button "Filter"
expect(page).to have_content("citizen proposals cannot be found")
within ".advanced-search-form" do
expect(page).to have_select("advanced_search[date_min]", selected: "Customized")
expect(page).to have_selector("input[name='advanced_search[date_min]'][value*='#{7.days.ago.strftime("%d/%m/%Y")}']")
expect(page).to have_selector("input[name='advanced_search[date_max]'][value*='#{1.day.ago.strftime("%d/%m/%Y")}']")
end end
end end
end end
describe "SDG" do
before do
Setting["feature.sdg"] = true
Setting["sdg.process.debates"] = true
Setting["sdg.process.proposals"] = true
Setting["sdg.process.budgets"] = true
end
scenario "Search by goal" do
create(:budget_investment, title: "Purifier", heading: heading, sdg_goals: [SDG::Goal[6]])
create(:budget_investment, title: "Hospital", heading: heading, sdg_goals: [SDG::Goal[3]])
visit budget_investments_path(budget)
click_button "Advanced search"
select "6. Clean Water and Sanitation", from: "By SDG"
click_button "Filter"
expect(page).to have_content("There is 1 investment")
within("#budget-investments") do
expect(page).to have_content "Purifier"
expect(page).not_to have_content "Hospital"
end
expect(page).to have_select "By target",
selected: "Select a target",
enabled_options: ["Select a target"] + %w[6.1 6.2 6.3 6.4 6.5 6.6 6.A 6.B]
end
scenario "Search by target" do
create(:debate, title: "Unrelated")
create(:debate, title: "High school", sdg_targets: [SDG::Target["4.1"]])
create(:debate, title: "Preschool", sdg_targets: [SDG::Target["4.2"]])
visit debates_path
click_button "Advanced search"
select "4.2", from: "By target"
click_button "Filter"
expect(page).to have_content("There is 1 debate")
within("#debates") do
expect(page).to have_content("Preschool")
expect(page).not_to have_content("High school")
expect(page).not_to have_content("Unrelated")
end
end
scenario "Dynamic target options depending on the selected goal" do
visit proposals_path
click_button "Advanced search"
select "1. No Poverty", from: "By SDG"
expect(page).to have_select "By target",
selected: "Select a target",
enabled_options: ["Select a target"] + %w[1.1 1.2 1.3 1.4 1.5 1.A 1.B]
select "1.1", from: "By target"
select "13. Climate Action", from: "By SDG"
expect(page).to have_select "By target",
selected: "Select a target",
enabled_options: ["Select a target"] + %w[13.1 13.2 13.3 13.A 13.B]
select "13.1", from: "By target"
select "Select a goal", from: "By SDG"
expect(page).to have_select "By target", selected: "13.1", disabled_options: []
end
end
end end