Description
Add comprehensive Cypress test coverage for the Subscription Management feature, which includes CRUD operations and lifecycle management for subscriptions.
Endpoints Covered
POST /subscriptions — Create subscription
GET /subscriptions/:id — Retrieve subscription
PUT /subscriptions/:id — Update subscription
POST /subscriptions/:id/cancel — Cancel subscription
POST /subscriptions/:id/reactivate — Reactivate subscription
Test Scenarios
Create Subscription (Happy Path)
- Valid payload creation with customer_id, billing details, and interval configuration
- Verifies
status: "active" and subscription_id presence in response
Retrieve Subscription
- Fetch existing subscription by ID
- Verify all fields match creation payload
Update Subscription
- Modify subscription attributes (description, plan changes)
- Verify updated fields reflect in response
Subscription Lifecycle
- Active → Cancelled transition verification
- Cancelled → Active reactivation flow
- End-to-end lifecycle test (Create → Retrieve → Update → Cancel → Verify)
Negative Cases
- Invalid customer ID handling (expects 400/IR_00)
- Missing required fields validation (expects 400/IR_00)
- Cancelled subscription update prevention (expects 4xx)
- Invalid status transition handling
Files Added
cypress-tests/cypress/e2e/spec/Subscription/01-SubscriptionManagement.cy.js — Main test spec with 12 test cases
cypress-tests/cypress/e2e/configs/Subscription/Commons.js — Subscription connector configuration
cypress-tests/cypress/fixtures/create-subscription-body.json — Create subscription fixture
cypress-tests/cypress/fixtures/create-subscription-invalid-customer-body.json — Invalid customer test data
cypress-tests/cypress/fixtures/create-subscription-missing-fields-body.json — Missing fields test data
cypress-tests/cypress/fixtures/update-subscription-body.json — Update subscription fixture
cypress-tests/cypress/support/commands.js — Custom commands (createSubscriptionTest, retrieveSubscriptionTest, updateSubscriptionTest, cancelSubscriptionTest, reactivateSubscriptionTest)
Connector Support
Currently supports: stripebilling
Added to CONNECTOR_LISTS.INCLUDE.SUBSCRIPTION in Utils.js
Source Reference
api_models/subscription.rs — All error codes and response structures aligned with API model definitions
Acceptance Criteria
Parent Pipeline Issue
Related to: LAT-232 / QAA-72
Description
Add comprehensive Cypress test coverage for the Subscription Management feature, which includes CRUD operations and lifecycle management for subscriptions.
Endpoints Covered
POST /subscriptions— Create subscriptionGET /subscriptions/:id— Retrieve subscriptionPUT /subscriptions/:id— Update subscriptionPOST /subscriptions/:id/cancel— Cancel subscriptionPOST /subscriptions/:id/reactivate— Reactivate subscriptionTest Scenarios
Create Subscription (Happy Path)
status: "active"andsubscription_idpresence in responseRetrieve Subscription
Update Subscription
Subscription Lifecycle
Negative Cases
Files Added
cypress-tests/cypress/e2e/spec/Subscription/01-SubscriptionManagement.cy.js— Main test spec with 12 test casescypress-tests/cypress/e2e/configs/Subscription/Commons.js— Subscription connector configurationcypress-tests/cypress/fixtures/create-subscription-body.json— Create subscription fixturecypress-tests/cypress/fixtures/create-subscription-invalid-customer-body.json— Invalid customer test datacypress-tests/cypress/fixtures/create-subscription-missing-fields-body.json— Missing fields test datacypress-tests/cypress/fixtures/update-subscription-body.json— Update subscription fixturecypress-tests/cypress/support/commands.js— Custom commands (createSubscriptionTest, retrieveSubscriptionTest, updateSubscriptionTest, cancelSubscriptionTest, reactivateSubscriptionTest)Connector Support
Currently supports:
stripebillingAdded to
CONNECTOR_LISTS.INCLUDE.SUBSCRIPTIONin Utils.jsSource Reference
api_models/subscription.rs— All error codes and response structures aligned with API model definitionsAcceptance Criteria
api_models/subscription.rssubscription_idstored inglobalStateand reused across chained test stepsParent Pipeline Issue
Related to: LAT-232 / QAA-72