From f92008e91e1884e3d0a4ff6d047b1827d96313ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Thu, 6 May 2021 17:28:20 +0200 Subject: [PATCH] Simplify system tests using a small window --- spec/spec_helper.rb | 9 +++++++++ spec/system/debates_spec.rb | 12 +----------- spec/system/proposals_spec.rb | 24 ++---------------------- 3 files changed, 12 insertions(+), 33 deletions(-) diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 9bff58db0..b24cd6902 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -98,6 +98,15 @@ RSpec.configure do |config| Delayed::Worker.delay_jobs = false end + config.before(:each, :small_window) do + @window_size = Capybara.current_window.size + Capybara.current_window.resize_to(639, 479) + end + + config.after(:each, :small_window) do + Capybara.current_window.resize_to(*@window_size) + end + config.before(:each, :remote_translations) do allow(RemoteTranslations::Microsoft::AvailableLocales) .to receive(:available_locales).and_return(I18n.available_locales.map(&:to_s)) diff --git a/spec/system/debates_spec.rb b/spec/system/debates_spec.rb index b7714387c..217af3655 100644 --- a/spec/system/debates_spec.rb +++ b/spec/system/debates_spec.rb @@ -103,17 +103,7 @@ describe "Debates" do end end - context "On small devices" do - let!(:window_size) { Capybara.current_window.size } - - before do - Capybara.current_window.resize_to(639, 479) - end - - after do - Capybara.current_window.resize_to(*window_size) - end - + context "On small devices", :small_window do scenario "Shows links to share on telegram and whatsapp too" do visit debate_path(create(:debate)) diff --git a/spec/system/proposals_spec.rb b/spec/system/proposals_spec.rb index 0b104ea8a..172adfe5d 100644 --- a/spec/system/proposals_spec.rb +++ b/spec/system/proposals_spec.rb @@ -148,17 +148,7 @@ describe "Proposals" do end end - context "On small devices" do - let!(:window_size) { Capybara.current_window.size } - - before do - Capybara.current_window.resize_to(639, 479) - end - - after do - Capybara.current_window.resize_to(*window_size) - end - + context "On small devices", :small_window do scenario "Shows links to share on telegram and whatsapp too" do visit proposal_path(create(:proposal)) @@ -253,17 +243,7 @@ describe "Proposals" do end end - describe "Show sticky support button on mobile screens" do - let!(:window_size) { Capybara.current_window.size } - - before do - Capybara.current_window.resize_to(640, 480) - end - - after do - Capybara.current_window.resize_to(*window_size) - end - + describe "Show sticky support button on small screens", :small_window do scenario "On a first visit" do proposal = create(:proposal) visit proposal_path(proposal)