Skip to content

Conversation

@colby-swandale
Copy link
Member

Currently, the rubygems.org test suite has 2 different kinds of System tests, one that is using the rails ApplicationSystemTestCase and the other, a cut-down version using rack_test as the driver called SystemTest. It's hard to tell when we should be using one or the other, and the benefit of keeping it does not seem high either.

In an effort to simplify our test suit, i want to remove SystemTest and migrate everything to ApplicationSystemTestCase.

@codecov
Copy link

codecov bot commented Jul 3, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 97.26%. Comparing base (cd92769) to head (4419e2b).

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #5783   +/-   ##
=======================================
  Coverage   97.26%   97.26%           
=======================================
  Files         477      477           
  Lines        9871     9871           
=======================================
  Hits         9601     9601           
  Misses        270      270           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copilot AI review requested due to automatic review settings January 27, 2026 07:43
@colby-swandale colby-swandale force-pushed the colby/remove-systemtest branch from a151945 to b2b200d Compare January 27, 2026 07:43
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR simplifies the system test suite by removing the custom SystemTest base class (rack-test driven) and migrating remaining tests to Rails’ ApplicationSystemTestCase.

Changes:

  • Removed the SystemTest base class from test/test_helper.rb.
  • Updated affected system tests to inherit from ApplicationSystemTestCase and require application_system_test_case.
  • Moved GemsSystemTest out of test/integration/gems_test.rb into a dedicated test/system/gems_test.rb file.

Reviewed changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
test/test_helper.rb Removes the custom SystemTest harness to consolidate on Rails system testing.
test/system/yank_test.rb Migrates to ApplicationSystemTestCase.
test/system/subscriptions_test.rb Migrates to ApplicationSystemTestCase.
test/system/sign_up_test.rb Migrates to ApplicationSystemTestCase.
test/system/sign_in_test.rb Migrates to ApplicationSystemTestCase.
test/system/search_test.rb Migrates to ApplicationSystemTestCase.
test/system/profile_test.rb Removes redundant test_helper require (now pulled in via application_system_test_case).
test/system/policies_test.rb Migrates to ApplicationSystemTestCase.
test/system/password_reset_test.rb Migrates to ApplicationSystemTestCase.
test/system/pages_test.rb Migrates to ApplicationSystemTestCase.
test/system/page_params_test.rb Migrates to ApplicationSystemTestCase.
test/system/owner_test.rb Migrates to ApplicationSystemTestCase.
test/system/notification_settings_test.rb Migrates to ApplicationSystemTestCase.
test/system/locale_test.rb Migrates to ApplicationSystemTestCase.
test/system/gems_test.rb Adds GemsSystemTest under system tests (previously embedded in integration test file).
test/system/email_confirmation_test.rb Migrates to ApplicationSystemTestCase.
test/integration/gems_test.rb Removes the embedded GemsSystemTest now that it lives under test/system/.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

colby-swandale and others added 2 commits January 27, 2026 18:47
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

1 participant