Skip to content

Keep WooCommerce's setup wizard out of admin request tests - #31

Merged
ahegyes merged 1 commit into
trunkfrom
fix/admin-request-onboarding-redirect
Oct 19, 2026
Merged

ahegyes merged 1 commit into
trunkfrom
fix/admin-request-onboarding-redirect

Conversation

@ahegyes

@ahegyes ahegyes commented Oct 19, 2026 •

Copy link
Copy Markdown
Owner

Summary

CI's Integration lane failed one OptionsPage row on the PR and another on trunk, while every local run passed. WooCommerce keeps a 30-second _wc_activation_redirect transient after a fresh install and sends the next admin request of a store manager to its setup wizard. CI activates WooCommerce right before the suite, so that request's tab printed no form, and the save posted after it changed nothing.

The request runner now filters woocommerce_prevent_automatic_wizard_redirect to true, which makes WooCommerce delete the transient instead of redirecting, and the tests' form serializer fails when the page printed no settings form. Setting the transient by hand reproduced the trunk failure before the change, and the OptionsPage rows pass with it set after.

Affected packages

  • wp-framework-bootstrap
  • wp-framework-shared
  • wp-framework-core
  • wp-framework-settings
  • wp-framework-woocommerce

Checklist

  • Tests added or updated:
    • Integration: tests/Integration/Support/admin-request.php and OptionsPageTest::form_data(); no package code changes.
  • composer quality-check passes locally (Unit 200, Integration 685), plus composer test:integration:multisite (26) and PHP 7.4 php -l over packages/bootstrap
  • Public API changes are documented in the affected package's README.md (no public API change)
  • Breaking changes are explicitly justified below (none: tests only)

CI's Integration lane failed one OptionsPage row on the PR and another on trunk, while every local run passed. WooCommerce keeps a 30-second _wc_activation_redirect transient after a fresh install and sends the next admin request of a store manager to its setup wizard. CI activates WooCommerce right before the suite, so that request's tab printed no form, and the save posted after it changed nothing.

The request runner now filters woocommerce_prevent_automatic_wizard_redirect to true, which makes WooCommerce delete the transient instead of redirecting, and the tests' form serializer fails when the page printed no settings form. Setting the transient by hand reproduced the trunk failure before the change, and the OptionsPage rows pass with it set after.

Assisted-by: Claude Code:claude-opus-5-5
@ahegyes
ahegyes merged commit 3a5ec85 into trunk Oct 19, 2026
16 checks passed
@ahegyes
ahegyes deleted the fix/admin-request-onboarding-redirect branch October 19, 2026 15:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant