Bigger random seed range. Tests added to check the randomness between browsers
This commit is contained in:
@@ -94,7 +94,8 @@ module Budgets
|
||||
|
||||
def set_random_seed
|
||||
if params[:order] == 'random' || params[:order].blank?
|
||||
params[:random_seed] ||= rand(1..9)
|
||||
seed = rand(10..99) / 10.0
|
||||
params[:random_seed] ||= Float(seed) rescue 0
|
||||
else
|
||||
params[:random_seed] = nil
|
||||
end
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
require 'rails_helper'
|
||||
require 'sessions_helper'
|
||||
|
||||
feature 'Budget Investments' do
|
||||
|
||||
@@ -176,12 +177,12 @@ feature 'Budget Investments' do
|
||||
|
||||
visit budget_investments_path(budget, order: 'random')
|
||||
|
||||
first_page_investments = all(".budget-investment h3").collect {|i| i.text }
|
||||
first_page_investments = investments_order
|
||||
|
||||
click_link 'Next'
|
||||
expect(page).to have_content "You're on page 2"
|
||||
|
||||
second_page_investments = all(".budget-investment h3").collect {|i| i.text }
|
||||
second_page_investments = investments_order
|
||||
|
||||
common_values = first_page_investments & second_page_investments
|
||||
|
||||
@@ -207,6 +208,48 @@ feature 'Budget Investments' do
|
||||
expect(current_url).to include('page=1')
|
||||
end
|
||||
|
||||
scenario 'Each user as a different and consistent random budget investment order', :js do
|
||||
12.times { create(:budget_investment, heading: heading) }
|
||||
|
||||
in_browser(:one) do
|
||||
visit budget_investments_path(budget, heading: heading)
|
||||
@first_user_investments_order = investments_order
|
||||
end
|
||||
|
||||
in_browser(:two) do
|
||||
visit budget_investments_path(budget, heading: heading)
|
||||
@second_user_investments_order = investments_order
|
||||
end
|
||||
|
||||
expect(@first_user_investments_order).not_to eq(@second_user_investments_order)
|
||||
|
||||
in_browser(:one) do
|
||||
visit budget_investments_path(budget, heading: heading)
|
||||
# click_link 'Next'
|
||||
# expect(page).to have_content "You're on page 2"
|
||||
#
|
||||
# click_link 'Previous'
|
||||
# expect(page).to have_content "You're on page 1"
|
||||
#
|
||||
expect(investments_order).to eq(@first_user_investments_order)
|
||||
end
|
||||
|
||||
in_browser(:two) do
|
||||
visit budget_investments_path(budget, heading: heading)
|
||||
# click_link 'Next'
|
||||
# expect(page).to have_content "You're on page 2"
|
||||
#
|
||||
# click_link 'Previous'
|
||||
# expect(page).to have_content "You're on page 1"
|
||||
#
|
||||
expect(investments_order).to eq(@second_user_investments_order)
|
||||
end
|
||||
end
|
||||
|
||||
def investments_order
|
||||
all(".budget-investment h3").collect {|i| i.text }
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
context 'Phase I - Accepting' do
|
||||
|
||||
Reference in New Issue
Block a user