Repository navigation
Conversation
Covers every Integrations setting: joins through the real join form reach Zetkin, Mailchimp, Action Network, Auth0 and the webhooks with the credentials set on the page; Stripe direct debit options and the subscriptions download; GoCardless and Zetkin sandbox/live; Chargebee hosted pages; postcode lookups; and Sentry, Google Cloud Logging and Loggly receiving the plugin's logs. A legacy fixture checks settings stored by Carbon Fields still work. The fake API gains a small Zetkin, token endpoints for Auth0 and Google, Stripe invoices, gzip bodies, and hostnames for the logging services. The Chargebee SDK now trusts its test CA, and stand-ins for Stripe.js and Chargebee.js let the payment steps render. The subscriptions download breaking with no Stripe invoices (JOIN-167) is a skipped test. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BL2bFrTk84JMy3CPAsCTV9
conatus
commented
Oct 24, 2026
conatus
commented
Oct 24, 2026
conatus
commented
Oct 24, 2026
conatus
commented
Oct 24, 2026
conatus
commented
Oct 24, 2026
conatus
commented
Oct 24, 2026
conatus
commented
Oct 24, 2026
conatus
commented
Oct 24, 2026
conatus
commented
Oct 24, 2026
conatus
commented
Oct 24, 2026
conatus
commented
Oct 24, 2026
conatus
left a comment
Member
Author
There was a problem hiding this comment.
Supplementary review: one spec reaches past JoinSettingsPage into Carbon Fields markup. This adds to the inline findings already posted.
Generated by Claude Code
# Conflicts: # docs/e2e-testing.md # packages/join-e2e/tests/settings/fixtures.ts
- Fake API: a request body that won't gunzip is recorded as it came instead of crashing the fake. The unused Google token endpoint, its network alias and certificate name are gone (the Google client signs its own token). - Zetkin: checks the Unconfirmed tag is put on the person the API created. - Action Network: checks the other plan's tags and the lapsed, cancelled and lapsing tags are removed. It also sends an empty tag when a plan has no Add Tags: a skipped test for JOIN-171. - Step Webhook Url: the step now comes from the real join form, with /step let through to the plugin rather than posted by the test. - Subscriptions download: the secret key is checked on the export's own Stripe reads, not on requests made when the settings were saved. - Join dates are checked against the dates either side of the join, so a run across midnight still passes. - The legacy fixture sets Loggly, and checks a join's logs reach it with the legacy tags. - continueToPlans/continueToPayment live in fixtures.ts, shared by the specs that had their own copies. - No Carbon Fields class in the logging spec. - Readme lists the logging services the fake stands in for. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BL2bFrTk84JMy3CPAsCTV9
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fourth of the settings page regression test PRs. Stacked on #135 (Membership Plans) → #134 → #133.
Covers every setting on the Integrations tab. Each test changes the setting on the settings page, reads it back through
Settings::get, and checks its effect against fakes of the real services. A legacy test loads the tab as Carbon Fields stored it.What's covered
CRMs, Auth0 and webhooks (
integrations-crm.spec.ts). Each test joins through the real join form: the form's/joinrequest is caught at its last step and passed to the plugin unchanged.Payments and postcodes (
integrations-payments.spec.ts)Logging services (
integrations-logging.spec.ts)join-block). The Logging tab says so.Supporting changes
http://fake-api, for webhook URLs.stubStripe()(new) and a fullerstubChargebee()stand in for Stripe.js and Chargebee.js, so the payment steps render offline.joinThroughForm(),JoinSettingsPage.setSelect().Problem found
Testing
Locally, all of
tests/settings: 122 passed, 6 skipped (the known-problem tests).Generated by Claude Code