Skip to content

E2E framework plus tests - #3829

Draft
joe-ayoub-segment wants to merge 237 commits into
mainfrom
e2e-framework-plus-tests
Draft

E2E framework plus tests#3829
joe-ayoub-segment wants to merge 237 commits into
mainfrom
e2e-framework-plus-tests

Conversation

@joe-ayoub-segment

Copy link
Copy Markdown
Contributor

⚠️ Not intended to be merged into main

This is a staging/integration branch, not a merge candidate. It exists so that end-to-end (e2e) tests can be authored for in-flight PRs before the e2e framework itself lands on main. Treat it as a working surface for e2e test development, not a feature PR.

Do not merge this into main. The underlying feature work lives in its own individual PRs (linked below), which go through the normal review/merge process on their own.

What's in this branch

Branched from feat/e2e-test-types-and-fixtures (the e2e framework PR #3817), with the following feature branches merged in to provide the destination code the e2e tests need to exercise:

  • pinterest-new-events
  • customerio-msresponse
  • iterable-subscription-management
  • hubspot-oauth-upgrade
  • iterable-update-email
  • mixpanel-secret-deprecation
  • rokt-capi-bug
  • linkedin-new-identifiers
  • braze-ecommerce-addtocart
  • s3-shah256-support
  • fb-appendvalue
  • gec-journeys2-support
  • feat/braze-merge-users

One merge conflict was resolved (braze/index.ts — Track Calls preset subscribe filter, kept the superset that excludes Product Added/Product Removed, consistent with the dedicated presets those branches add).

e2e tests added

google-enhanced-conversions (first destination):

  • Added createE2EJourneysV2AudienceEvent helper + supporting types to the e2e framework (packages/core/src/e2e-helpers.ts, e2e-types.ts), exported from @segment/actions-core. This models the Journeys V2 event shape (computation_class: 'journey_step', journey_context / journey_metadata) introduced by gec-journeys2-support.
  • Added userList/e2e/journeysV2.e2e.ts fixtures (single add, single add with explicit mirror sync mode, batch add) — covering the Journeys V2 path that the existing Engage / JourneysV1 / RETL fixtures did not.

This fills the one e2e coverage gap for g-e-c: the prior fixtures covered Engage, JourneysV1, and RETL, but not the new Journeys V2 support.

Notes

  • Verified: core builds clean, cloud typechecks clean against the new helper/types, and the helper emits the exact journey_step event shape used by gec-journeys2-support's unit tests.
  • Only google-enhanced-conversions e2e tests are included in this branch; e2e tests for the other merged destinations are intentionally out of scope here.

- Engage fixtures now use createE2EEngageAudienceEvent (via engageEvent wrapper);
  RETL fixtures use createE2ERetlAudienceEvent (retlEvent); Connections fixtures
  use createE2EEvent (connectionsEvent) — the dedicated Connections-event helper.
- Membership boolean is set opposite to dmp_company_action on realism fixtures to
  document that dmp_company_action governs (the override is proven in unit tests).
- Company identifier rides in enrichedTraits; dropped the duplicate Engage realism
  fixture (covered by the Engage existing-ADD case). 11/11 pass live.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 17, 2026 15:51

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot wasn't able to review this pull request because it exceeds the maximum number of lines (20,000). Try reducing the number of changed lines and requesting a review from Copilot again.

Copilot AI review requested due to automatic review settings July 17, 2026 17:31

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot wasn't able to review this pull request because it exceeds the maximum number of lines (20,000). Try reducing the number of changed lines and requesting a review from Copilot again.

Copilot AI review requested due to automatic review settings July 31, 2026 10:34

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot wasn't able to review this pull request because it exceeds the maximum number of lines (20,000). Try reducing the number of changed lines and requesting a review from Copilot again.

Copilot AI review requested due to automatic review settings August 6, 2026 16:00

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot wasn't able to review this pull request because it exceeds the maximum number of lines (20,000). Try reducing the number of changed lines and requesting a review from Copilot again.

… for e2e testing

Bring the pinterest-conversions destination code from the pinterest-new-events
branch (PR 3820) onto the e2e framework branch so the new events/fields can be
exercised against Pinterest via the e2e fixtures.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings August 7, 2026 14:48

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot wasn't able to review this pull request because it exceeds the maximum number of lines (20,000). Try reducing the number of changed lines and requesting a review from Copilot again.

…ges validation, network_type enum, item_brand_id max

- Add validateLanguages: each device_info.languages value must be a 2-char
  ISO 639-1 code; handles a single string or an array; throws PayloadValidationError.
- Add network_type enum choices (wifi, cellular_2g..6g, ethernet, unknown).
- Add maximum:64 to getContentsField item_brand_id.
- Tests for the languages validation.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings August 7, 2026 15:09

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot wasn't able to review this pull request because it exceeds the maximum number of lines (20,000). Try reducing the number of changed lines and requesting a review from Copilot again.

…ll passing)

Cover all 22 event types, new fields (app_info/device_info/custom_data_2/contents),
legacy + undefined-data_format paths, invalid-payload validation, and the 7-day
server rejection. All 34 fixtures pass against the Pinterest test account.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings August 7, 2026 16:02

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot wasn't able to review this pull request because it exceeds the maximum number of lines (20,000). Try reducing the number of changed lines and requesting a review from Copilot again.

…leProduct

Cover all presets routing to the ecommerce actions, incl. the new
Product Added / Product Removed (cart_updated add/remove) presets:
- ecommerce: order placed, checkout started, order refunded, order
  cancelled, product added, product removed, cart replace, cart minimal,
  mixed batch, missing-identifier validation error (10 fixtures)
- ecommerceSingleProduct: product viewed, catalog_type, batch (3 fixtures)
- braze/__e2e__/index.ts destination config (api_key/app_id via $env,
  iad-01 endpoint)

All 13 fixtures pass against live Braze (syncMode add).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings August 7, 2026 19:45

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot wasn't able to review this pull request because it exceeds the maximum number of lines (20,000). Try reducing the number of changed lines and requesting a review from Copilot again.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings August 7, 2026 19:48

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot wasn't able to review this pull request because it exceeds the maximum number of lines (20,000). Try reducing the number of changed lines and requesting a review from Copilot again.

…updated

Integrates the STRATCONN-6937 batch multistatus fix into the cart_updated
feature branch:
- send(): match Braze errors on the sent-array index (payload.index),
  skip payloads filtered by validate(), null-safe errors lookup
- per-item sent/body: sent = transformed event (object) when sent, body =
  { success: true } on 2xx and error.type on Braze error; omit both when
  nothing was sent (invalid syncMode / validate() filter)
- reconcile multistatus unit tests + add regression tests for filtered-index
  attribution and fully-successful batch

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings August 8, 2026 09:18

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot wasn't able to review this pull request because it exceeds the maximum number of lines (20,000). Try reducing the number of changed lines and requesting a review from Copilot again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants