[CI] Extend Cuprite timeout (#20734)

This commit is contained in:
Mac Siri 2024-03-06 10:54:49 -05:00 committed by GitHub
parent f263e17a1f
commit a4eea0da41
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 19 additions and 29 deletions

View file

@ -25,12 +25,10 @@ remote_options = remote_chrome ? { url: REMOTE_CHROME_URL } : {}
Capybara.register_driver(:better_cuprite) do |app|
Capybara::Cuprite::Driver.new(
app,
**{
window_size: [1200, 800],
browser_options: {},
process_timeout: 10,
inspector: true,
headless: !ENV["HEADLESS"].in?(%w[n 0 no false])
}.merge(remote_options),
window_size: [1200, 800],
browser_options: {},
process_timeout: 30,
inspector: true,
headless: !ENV["HEADLESS"].in?(%w[n 0 no false]), **remote_options
)
end

View file

@ -1,6 +1,6 @@
require "rails_helper"
RSpec.describe "Tracking 'Clicked on Create Account'" do
RSpec.describe "Tracking 'Clicked on Create Account'", :js do
context "when on the homepage" do
let(:user) { create(:user) }
# rubocop:disable RSpec/LetSetup
@ -14,46 +14,38 @@ RSpec.describe "Tracking 'Clicked on Create Account'" do
end
it "has the necessary initial tracking elements", :aggregate_failures do
expect(page).to have_selector('a[data-tracking-id="ca_top_nav"]')
expect(page).to have_selector('a[data-tracking-id="ca_left_sidebar_home_page"]')
expect(page).to have_css('a[data-tracking-id="ca_top_nav"]')
expect(page).to have_css('a[data-tracking-id="ca_left_sidebar_home_page"]')
end
it "has the create account tracking element in the hamburger", { aggregate_failures: true, js: true } do
it "has the create account tracking element in the hamburger", :aggregate_failures do
Capybara.current_session.driver.resize(425, 694)
first(".js-hamburger-trigger").click
expect(page).to have_selector('a[data-tracking-id="ca_hamburger_home_page"]')
expect(page).to have_css('a[data-tracking-id="ca_hamburger_home_page"]')
end
xit "tracks a click with the correct source", { aggregate_failures: true, js: true } do
it "tracks a click with the correct source", :aggregate_failures do
expect do
find('[data-tracking-id="ca_top_nav"]').click
end.to change(Ahoy::Event, :count).by(1)
ahoy_event = Ahoy::Event.find_by(name: "Clicked on Create Account")
expect(ahoy_event).to be_present
expect(ahoy_event.properties).to have_key("source")
expect(ahoy_event.properties).to have_key("page")
expect(ahoy_event.properties).to have_key("version")
expect(ahoy_event.properties["source"]).to eq("top_navbar")
expect(Ahoy::Event.last.name).to eq("Clicked on Create Account")
expect(Ahoy::Event.last.properties).to include("source", "page", "version", "source" => "top_navbar")
end
end
context "when tracking through the modal" do
it "adds an ahoy event", { aggregate_failures: true, js: true } do
it "adds an ahoy event", :aggregate_failures do
article = create(:article, user: create(:user))
visit article.path
find(".follow-action-button").click
find(".js-global-signup-modal__create-account").click
expect do
find(".js-global-signup-modal__create-account").click
end.to change(Ahoy::Event, :count).by(1)
expect(page).to have_current_path("/enter?state=new-user")
ahoy_event = Ahoy::Event.find_by(name: "Clicked on Create Account")
expect(ahoy_event).to be_present
expect(ahoy_event.properties).to have_key("source")
expect(ahoy_event.properties).to have_key("page")
expect(ahoy_event.properties).to have_key("referring_source")
expect(ahoy_event.properties).to have_key("trigger")
expect(ahoy_event.properties).to have_key("version")
expect(Ahoy::Event.last.name).to eq("Clicked on Create Account")
expect(Ahoy::Event.last.properties).to include("source", "page", "referring_source", "trigger", "version")
end
end
end