adds comprehensive specs for author type and date range searches
This commit is contained in:
@@ -90,17 +90,26 @@ module CommentableActions
|
|||||||
|
|
||||||
def parse_search_date
|
def parse_search_date
|
||||||
return unless search_by_date?
|
return unless search_by_date?
|
||||||
|
params[:advanced_search][:date_range] = search_date_range
|
||||||
start = eval(params[:advanced_search][:date_min].inspect).to_time
|
|
||||||
finish = params[:advanced_search][:date_max].try(:to_time) || Date.today
|
|
||||||
|
|
||||||
params[:advanced_search][:date_range] = start.beginning_of_day..finish.end_of_day
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def search_by_date?
|
def search_by_date?
|
||||||
params[:advanced_search] && params[:advanced_search][:date_min].present?
|
params[:advanced_search] && params[:advanced_search][:date_min].present?
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def search_start_date
|
||||||
|
date = Date.parse(params[:advanced_search][:date_min]) rescue nil
|
||||||
|
date || eval(params[:advanced_search][:date_min]).to_date
|
||||||
|
end
|
||||||
|
|
||||||
|
def search_finish_date
|
||||||
|
params[:advanced_search][:date_max].try(:to_date) || Date.today
|
||||||
|
end
|
||||||
|
|
||||||
|
def search_date_range
|
||||||
|
search_start_date.beginning_of_day..search_finish_date.end_of_day
|
||||||
|
end
|
||||||
|
|
||||||
def set_search_order
|
def set_search_order
|
||||||
if params[:search].present? && params[:order].blank?
|
if params[:search].present? && params[:order].blank?
|
||||||
params[:order] = 'relevance'
|
params[:order] = 'relevance'
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ module SearchHelper
|
|||||||
options_for_select([
|
options_for_select([
|
||||||
[t("shared.advanced_search.date_1"), "24.hours.ago"],
|
[t("shared.advanced_search.date_1"), "24.hours.ago"],
|
||||||
[t("shared.advanced_search.date_2"), "1.week.ago"],
|
[t("shared.advanced_search.date_2"), "1.week.ago"],
|
||||||
[t("shared.advanced_search.date_3"), "1.month.ago"],
|
[t("shared.advanced_search.date_3"), "30.days.ago"],
|
||||||
[t("shared.advanced_search.date_4"), "1.year.ago"],
|
[t("shared.advanced_search.date_4"), "1.year.ago"],
|
||||||
[t("shared.advanced_search.date_5"), 'custom']],
|
[t("shared.advanced_search.date_5"), 'custom']],
|
||||||
selected_date_range)
|
selected_date_range)
|
||||||
|
|||||||
@@ -390,7 +390,7 @@ en:
|
|||||||
date: 'By date'
|
date: 'By date'
|
||||||
date_1: 'Last 24 hours'
|
date_1: 'Last 24 hours'
|
||||||
date_2: 'Last week'
|
date_2: 'Last week'
|
||||||
date_3: 'Last 30 days'
|
date_3: 'Last month'
|
||||||
date_4: 'Last year'
|
date_4: 'Last year'
|
||||||
date_5: 'Customized'
|
date_5: 'Customized'
|
||||||
from: 'From'
|
from: 'From'
|
||||||
|
|||||||
@@ -390,7 +390,7 @@ es:
|
|||||||
date: 'Por fecha'
|
date: 'Por fecha'
|
||||||
date_1: 'Últimas 24 horas'
|
date_1: 'Últimas 24 horas'
|
||||||
date_2: 'Última semana'
|
date_2: 'Última semana'
|
||||||
date_3: 'Últimos 30 días'
|
date_3: 'Último mes'
|
||||||
date_4: 'Último año'
|
date_4: 'Último año'
|
||||||
date_5: 'Personalizada'
|
date_5: 'Personalizada'
|
||||||
from: 'Desde'
|
from: 'Desde'
|
||||||
|
|||||||
@@ -535,42 +535,20 @@ feature 'Debates' do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
#NOTE: Test the different offical levels with unit tests.
|
context "Search by author type" do
|
||||||
scenario "Search by author type", :js do
|
|
||||||
ana = create :user, official_level: 1
|
|
||||||
john = create :user, official_level: 2
|
|
||||||
|
|
||||||
debate1 = create(:debate, author: ana)
|
scenario "Public employee", :js do
|
||||||
debate2 = create(:debate, author: ana)
|
ana = create :user, official_level: 1
|
||||||
debate3 = create(:debate, author: john)
|
john = create :user, official_level: 2
|
||||||
|
|
||||||
visit debates_path
|
debate1 = create(:debate, author: ana)
|
||||||
|
debate2 = create(:debate, author: ana)
|
||||||
click_link "Advanced search"
|
debate3 = create(:debate, author: john)
|
||||||
select "Public employee", from: "advanced_search_official_level"
|
|
||||||
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).to_not have_content(debate3.title)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context "Search by date" do
|
|
||||||
|
|
||||||
#NOTE: Test the different date ranges with unit tests.
|
|
||||||
scenario "Search by predefined date range", :js do
|
|
||||||
debate1 = create(:debate, created_at: 1.minute.ago)
|
|
||||||
debate2 = create(:debate, created_at: 1.hour.ago)
|
|
||||||
debate3 = create(:debate, created_at: 2.days.ago)
|
|
||||||
|
|
||||||
visit debates_path
|
visit debates_path
|
||||||
|
|
||||||
click_link "Advanced search"
|
click_link "Advanced search"
|
||||||
select "Last 24 hours", from: "js-advanced-search-date-min"
|
select "Public employee", from: "advanced_search_official_level"
|
||||||
click_button "Filter"
|
click_button "Filter"
|
||||||
|
|
||||||
within("#debates") do
|
within("#debates") do
|
||||||
@@ -582,6 +560,186 @@ feature 'Debates' do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
scenario "Municipal Organization", :js do
|
||||||
|
ana = create :user, official_level: 2
|
||||||
|
john = create :user, official_level: 3
|
||||||
|
|
||||||
|
debate1 = create(:debate, author: ana)
|
||||||
|
debate2 = create(:debate, author: ana)
|
||||||
|
debate3 = create(:debate, author: john)
|
||||||
|
|
||||||
|
visit debates_path
|
||||||
|
|
||||||
|
click_link "Advanced search"
|
||||||
|
select "Municipal Organization", from: "advanced_search_official_level"
|
||||||
|
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).to_not have_content(debate3.title)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
scenario "General director", :js do
|
||||||
|
ana = create :user, official_level: 3
|
||||||
|
john = create :user, official_level: 4
|
||||||
|
|
||||||
|
debate1 = create(:debate, author: ana)
|
||||||
|
debate2 = create(:debate, author: ana)
|
||||||
|
debate3 = create(:debate, author: john)
|
||||||
|
|
||||||
|
visit debates_path
|
||||||
|
|
||||||
|
click_link "Advanced search"
|
||||||
|
select "General director", from: "advanced_search_official_level"
|
||||||
|
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).to_not have_content(debate3.title)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
scenario "City councillor", :js do
|
||||||
|
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_link "Advanced search"
|
||||||
|
select "City councillor", from: "advanced_search_official_level"
|
||||||
|
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).to_not have_content(debate3.title)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
scenario "Mayoress", :js do
|
||||||
|
ana = create :user, official_level: 5
|
||||||
|
john = create :user, official_level: 4
|
||||||
|
|
||||||
|
debate1 = create(:debate, author: ana)
|
||||||
|
debate2 = create(:debate, author: ana)
|
||||||
|
debate3 = create(:debate, author: john)
|
||||||
|
|
||||||
|
visit debates_path
|
||||||
|
|
||||||
|
click_link "Advanced search"
|
||||||
|
select "Mayoress", from: "advanced_search_official_level"
|
||||||
|
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).to_not have_content(debate3.title)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
context "Search by date" do
|
||||||
|
|
||||||
|
context "Predefined date ranges" do
|
||||||
|
|
||||||
|
scenario "Last day", :js do
|
||||||
|
debate1 = create(:debate, created_at: 1.minute.ago)
|
||||||
|
debate2 = create(:debate, created_at: 1.hour.ago)
|
||||||
|
debate3 = create(:debate, created_at: 2.days.ago)
|
||||||
|
|
||||||
|
visit debates_path
|
||||||
|
|
||||||
|
click_link "Advanced search"
|
||||||
|
select "Last 24 hours", 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).to_not have_content(debate3.title)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
scenario "Last week", :js 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_link "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).to_not have_content(debate3.title)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
scenario "Last month", :js do
|
||||||
|
debate1 = create(:debate, created_at: 10.days.ago)
|
||||||
|
debate2 = create(:debate, created_at: 20.days.ago)
|
||||||
|
debate3 = create(:debate, created_at: 33.days.ago)
|
||||||
|
|
||||||
|
visit debates_path
|
||||||
|
|
||||||
|
click_link "Advanced search"
|
||||||
|
select "Last month", 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).to_not have_content(debate3.title)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
scenario "Last year", :js do
|
||||||
|
debate1 = create(:debate, created_at: 300.days.ago)
|
||||||
|
debate2 = create(:debate, created_at: 350.days.ago)
|
||||||
|
debate3 = create(:debate, created_at: 370.days.ago)
|
||||||
|
|
||||||
|
visit debates_path
|
||||||
|
|
||||||
|
click_link "Advanced search"
|
||||||
|
select "Last year", 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).to_not have_content(debate3.title)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
scenario "Search by custom date range", :js do
|
scenario "Search by custom date range", :js do
|
||||||
debate1 = create(:debate, created_at: 2.days.ago)
|
debate1 = create(:debate, created_at: 2.days.ago)
|
||||||
debate2 = create(:debate, created_at: 3.days.ago)
|
debate2 = create(:debate, created_at: 3.days.ago)
|
||||||
|
|||||||
@@ -598,42 +598,20 @@ feature 'Proposals' do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
#NOTE: Test the different offical levels with unit tests.
|
context "Search by author type" do
|
||||||
scenario "Search by author type", :js do
|
|
||||||
ana = create :user, official_level: 1
|
|
||||||
john = create :user, official_level: 2
|
|
||||||
|
|
||||||
proposal1 = create(:proposal, author: ana)
|
scenario "Public employee", :js do
|
||||||
proposal2 = create(:proposal, author: ana)
|
ana = create :user, official_level: 1
|
||||||
proposal3 = create(:proposal, author: john)
|
john = create :user, official_level: 2
|
||||||
|
|
||||||
visit proposals_path
|
proposal1 = create(:proposal, author: ana)
|
||||||
|
proposal2 = create(:proposal, author: ana)
|
||||||
click_link "Advanced search"
|
proposal3 = create(:proposal, author: john)
|
||||||
select "Public employee", from: "advanced_search_official_level"
|
|
||||||
click_button "Filter"
|
|
||||||
|
|
||||||
within("#proposals") do
|
|
||||||
expect(page).to have_css('.proposal', count: 2)
|
|
||||||
|
|
||||||
expect(page).to have_content(proposal1.title)
|
|
||||||
expect(page).to have_content(proposal2.title)
|
|
||||||
expect(page).to_not have_content(proposal3.title)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context "Search by date" do
|
|
||||||
|
|
||||||
#NOTE: Test the different date ranges with unit tests.
|
|
||||||
scenario "Search by predefined date range", :js do
|
|
||||||
proposal1 = create(:proposal, created_at: 1.minute.ago)
|
|
||||||
proposal2 = create(:proposal, created_at: 1.hour.ago)
|
|
||||||
proposal3 = create(:proposal, created_at: 2.days.ago)
|
|
||||||
|
|
||||||
visit proposals_path
|
visit proposals_path
|
||||||
|
|
||||||
click_link "Advanced search"
|
click_link "Advanced search"
|
||||||
select "Last 24 hours", from: "js-advanced-search-date-min"
|
select "Public employee", from: "advanced_search_official_level"
|
||||||
click_button "Filter"
|
click_button "Filter"
|
||||||
|
|
||||||
within("#proposals") do
|
within("#proposals") do
|
||||||
@@ -645,6 +623,186 @@ feature 'Proposals' do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
scenario "Municipal Organization", :js do
|
||||||
|
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_link "Advanced search"
|
||||||
|
select "Municipal Organization", from: "advanced_search_official_level"
|
||||||
|
click_button "Filter"
|
||||||
|
|
||||||
|
within("#proposals") do
|
||||||
|
expect(page).to have_css('.proposal', count: 2)
|
||||||
|
|
||||||
|
expect(page).to have_content(proposal1.title)
|
||||||
|
expect(page).to have_content(proposal2.title)
|
||||||
|
expect(page).to_not have_content(proposal3.title)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
scenario "General director", :js do
|
||||||
|
ana = create :user, official_level: 3
|
||||||
|
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_link "Advanced search"
|
||||||
|
select "General director", from: "advanced_search_official_level"
|
||||||
|
click_button "Filter"
|
||||||
|
|
||||||
|
within("#proposals") do
|
||||||
|
expect(page).to have_css('.proposal', count: 2)
|
||||||
|
|
||||||
|
expect(page).to have_content(proposal1.title)
|
||||||
|
expect(page).to have_content(proposal2.title)
|
||||||
|
expect(page).to_not have_content(proposal3.title)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
scenario "City councillor", :js do
|
||||||
|
ana = create :user, official_level: 4
|
||||||
|
john = create :user, official_level: 5
|
||||||
|
|
||||||
|
proposal1 = create(:proposal, author: ana)
|
||||||
|
proposal2 = create(:proposal, author: ana)
|
||||||
|
proposal3 = create(:proposal, author: john)
|
||||||
|
|
||||||
|
visit proposals_path
|
||||||
|
|
||||||
|
click_link "Advanced search"
|
||||||
|
select "City councillor", from: "advanced_search_official_level"
|
||||||
|
click_button "Filter"
|
||||||
|
|
||||||
|
within("#proposals") do
|
||||||
|
expect(page).to have_css('.proposal', count: 2)
|
||||||
|
|
||||||
|
expect(page).to have_content(proposal1.title)
|
||||||
|
expect(page).to have_content(proposal2.title)
|
||||||
|
expect(page).to_not have_content(proposal3.title)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
scenario "Mayoress", :js do
|
||||||
|
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_link "Advanced search"
|
||||||
|
select "Mayoress", from: "advanced_search_official_level"
|
||||||
|
click_button "Filter"
|
||||||
|
|
||||||
|
within("#proposals") do
|
||||||
|
expect(page).to have_css('.proposal', count: 2)
|
||||||
|
|
||||||
|
expect(page).to have_content(proposal1.title)
|
||||||
|
expect(page).to have_content(proposal2.title)
|
||||||
|
expect(page).to_not have_content(proposal3.title)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
context "Search by date" do
|
||||||
|
|
||||||
|
context "Predefined date ranges" do
|
||||||
|
|
||||||
|
scenario "Last day", :js do
|
||||||
|
proposal1 = create(:proposal, created_at: 1.minute.ago)
|
||||||
|
proposal2 = create(:proposal, created_at: 1.hour.ago)
|
||||||
|
proposal3 = create(:proposal, created_at: 2.days.ago)
|
||||||
|
|
||||||
|
visit proposals_path
|
||||||
|
|
||||||
|
click_link "Advanced search"
|
||||||
|
select "Last 24 hours", from: "js-advanced-search-date-min"
|
||||||
|
click_button "Filter"
|
||||||
|
|
||||||
|
within("#proposals") do
|
||||||
|
expect(page).to have_css('.proposal', count: 2)
|
||||||
|
|
||||||
|
expect(page).to have_content(proposal1.title)
|
||||||
|
expect(page).to have_content(proposal2.title)
|
||||||
|
expect(page).to_not have_content(proposal3.title)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
scenario "Last week", :js do
|
||||||
|
proposal1 = create(:proposal, created_at: 1.day.ago)
|
||||||
|
proposal2 = create(:proposal, created_at: 5.days.ago)
|
||||||
|
proposal3 = create(:proposal, created_at: 8.days.ago)
|
||||||
|
|
||||||
|
visit proposals_path
|
||||||
|
|
||||||
|
click_link "Advanced search"
|
||||||
|
select "Last week", from: "js-advanced-search-date-min"
|
||||||
|
click_button "Filter"
|
||||||
|
|
||||||
|
within("#proposals") do
|
||||||
|
expect(page).to have_css('.proposal', count: 2)
|
||||||
|
|
||||||
|
expect(page).to have_content(proposal1.title)
|
||||||
|
expect(page).to have_content(proposal2.title)
|
||||||
|
expect(page).to_not have_content(proposal3.title)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
scenario "Last month", :js 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_link "Advanced search"
|
||||||
|
select "Last month", from: "js-advanced-search-date-min"
|
||||||
|
click_button "Filter"
|
||||||
|
|
||||||
|
within("#proposals") do
|
||||||
|
expect(page).to have_css('.proposal', count: 2)
|
||||||
|
|
||||||
|
expect(page).to have_content(proposal1.title)
|
||||||
|
expect(page).to have_content(proposal2.title)
|
||||||
|
expect(page).to_not have_content(proposal3.title)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
scenario "Last year", :js do
|
||||||
|
proposal1 = create(:proposal, created_at: 300.days.ago)
|
||||||
|
proposal2 = create(:proposal, created_at: 350.days.ago)
|
||||||
|
proposal3 = create(:proposal, created_at: 370.days.ago)
|
||||||
|
|
||||||
|
visit proposals_path
|
||||||
|
|
||||||
|
click_link "Advanced search"
|
||||||
|
select "Last year", from: "js-advanced-search-date-min"
|
||||||
|
click_button "Filter"
|
||||||
|
|
||||||
|
within("#proposals") do
|
||||||
|
expect(page).to have_css('.proposal', count: 2)
|
||||||
|
|
||||||
|
expect(page).to have_content(proposal1.title)
|
||||||
|
expect(page).to have_content(proposal2.title)
|
||||||
|
expect(page).to_not have_content(proposal3.title)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
scenario "Search by custom date range", :js do
|
scenario "Search by custom date range", :js do
|
||||||
proposal1 = create(:proposal, created_at: 2.days.ago)
|
proposal1 = create(:proposal, created_at: 2.days.ago)
|
||||||
proposal2 = create(:proposal, created_at: 3.days.ago)
|
proposal2 = create(:proposal, created_at: 3.days.ago)
|
||||||
@@ -716,8 +874,8 @@ feature 'Proposals' do
|
|||||||
click_link "Advanced search"
|
click_link "Advanced search"
|
||||||
|
|
||||||
select "Customized", from: "js-advanced-search-date-min"
|
select "Customized", from: "js-advanced-search-date-min"
|
||||||
fill_in "advanced_search_date_min", with: 7.days.ago
|
fill_in "advanced_search_date_min", with: 7.days.ago.to_date
|
||||||
fill_in "advanced_search_date_max", with: 1.days.ago
|
fill_in "advanced_search_date_max", with: 1.days.ago.to_date
|
||||||
click_button "Filter"
|
click_button "Filter"
|
||||||
|
|
||||||
within "#js-advanced-search" do
|
within "#js-advanced-search" do
|
||||||
|
|||||||
Reference in New Issue
Block a user