Feature Summary

A categorized reference of capabilities exposed by the QA Automation service. For flow details and framework patterns, follow the cross-references on each section.

Integration User Creation

Feature Description

Create predefined integration user

Provisions a complete test user in a specific condition using one of 38 predefined configurations (plus sub_overdue_<N>d variants). Endpoint: POST /qa/integration/user with a named state. Includes accounts, subscriptions, floats, balances, and other financial objects.

Create custom integration user

Fully configurable user creation via POST /qa/integration/custom-user. Allows independent specification of bank accounts, subscriptions, floats, LOC loans, bypass rules, and payment records for fine-grained test scenarios.

See Integration Users and Predefined States for complete state listings and configuration details.

Subscription Simulation

Feature Description

Daily subscription collections

Triggers SCHEDULED, PAUSED, or ERROR subscription processing via SQS message dispatch to the Subscription Service.

Webhook subscription collection

Simulates income-event-triggered subscription collection by publishing a balance update event.

Subscription notifier

Sends subscription reminder notifications via the Notification Service.

See Simulation Flows for request/response patterns and SQS queue details.

Float Simulation

Feature Description

Daily float collections

Triggers SCHEDULING or RETRY float collection via SQS with process types TOMORROW, TODAY6AM, or RETRY to simulate the Float Service’s daily collection routine.

Webhook float collection

Simulates balance-event-triggered float collection by publishing a balance update event to the transaction stream.

See Simulation Flows for queue configuration and process type semantics.

LOC Simulation

Feature Description

LOC collections

Directly invokes the test-loc-service-loc-collections-job Lambda with configurable process type (retry, upcoming, due, overdue) and optional look_ahead_days parameter to simulate LOC collection cycles.

See Simulation Flows for Lambda invocation details and return value interpretation.

Event Injection

Feature Description

Test event injection

Endpoint POST /qa/test/event sends arbitrary JSON payloads to any named Kinesis stream or SQS queue by service type. Enables direct testing of event processing pipelines without trigger simulation.

See Simulation Flows for supported stream/queue names and payload formats.

Iterable Queries

Feature Description

Get Iterable user

Retrieves a user record from the Iterable marketing platform by email address.

Get Iterable user events

Retrieves a user’s event history from Iterable, showing all triggered marketing campaigns and notifications.

See External Integrations for Iterable API credentials and response structure.

Cucumber Framework

Feature Description

BDD test suites

Six test suites covering Subscription Collections, Underwriting, LOC, Users & Membership, Floats, and Float Collections. Suites are imported from Jira/Xray and executed with parallel scenarios and automatic retry.

Given/When/Then conventions

Custom builders for integration and custom user setup; first-When user creation; direct service API assertions with Chai matching.

Parallel execution

Five scenarios run in parallel with one automatic retry on failure. Reduces test suite execution time while maintaining determinism.

Test reporting

Results exported back to Xray after each run, linked to test requirements and providing historical coverage metrics.

See Cucumber Framework for step definitions, feature syntax, and suite structure.

CI/CD Automation

Feature Description

Scheduled test runs

Automated daily test execution at 12:00 UTC via GitHub Actions on_schedule.yaml, running all six test suites sequentially with Xray imports and exports.

Manual dispatch

On-demand test runs triggered from the GitHub Actions UI or initiated via Jira webhook for rapid feedback during development.

Jira/Xray integration

Features are imported from Xray before each run, and results are exported back immediately after, keeping test requirements and evidence synchronized.

See CI/CD for workflow configuration, environment variable setup, and manual trigger instructions.