Merged
Conversation
Contributor
Author
|
Hi @mijinummi pr has been sent kindly review |
Contributor
Author
|
Hi @mijinummi conflict resolved |
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.
Implemented End-to-End Integration Tests
📌 Overview
Gasless transaction flows involve multiple services, chains, and smart contract interactions. Without end-to-end (E2E) testing, regressions or failures in any component can go undetected, causing unreliable behavior for users.
This task introduces End-to-End Integration Tests to simulate the complete transaction pipeline and validate the reliability of gasless flows.
🎯 Objective
Build a system that:
Simulates full gasless transaction workflows from initiation to completion
Validates interactions across backend API, RPC providers, queue workers, and contracts
Detects potential failures, regressions, and edge cases
Ensures confidence before merging or deploying changes
🛠 Scope of Work
1️⃣ Test Workflow Design
Identify critical gasless transaction flows:
Transaction creation via API
Queuing in BullMQ
Worker execution and RPC interaction
Signature verification and relayer submission
Transaction completion and monitoring
Include failure scenarios:
RPC timeout or failure
Worker retry logic
Insufficient gas or revert errors
Signature expiration
2️⃣ Test Environment Setup
Isolated test environment:
Local blockchain or testnets (e.g., Hardhat, Ganache, Goerli)
Dockerized services for backend and workers
Mock RPC providers if needed
Database reset between test runs to ensure consistency
3️⃣ Test Implementation
Write automated E2E tests using preferred framework:
Jest with Supertest (API endpoints)
Hardhat / Ethers.js for contract interactions
Optional Playwright or Cypress for dashboard flows
Example test case:
test("Gasless transaction completes successfully", async () => {
const tx = await api.createTransaction({ merchantId, to, value });
await worker.processQueue();
const receipt = await blockchain.getTransactionReceipt(tx.hash);
expect(receipt.status).toBe(1);
});
closes #72