UNPKG

@gp_jcisneros/aws-utils

Version:

AWS SDK utilities for GreenPay microservices

112 lines (103 loc) 3.1 kB
// Jest setup file for AWS SDK v3 mocks // Mock AWS SDK v3 DynamoDB jest.mock('@aws-sdk/client-dynamodb', () => { return { DynamoDBClient: jest.fn().mockImplementation(() => ({ send: jest.fn(), destroy: jest.fn().mockResolvedValue(undefined), })), }; }); jest.mock('@aws-sdk/lib-dynamodb', () => { return { DynamoDBDocumentClient: { from: jest.fn().mockReturnValue({ send: jest.fn(), destroy: jest.fn().mockResolvedValue(undefined), }), }, GetCommand: jest.fn(), PutCommand: jest.fn(), QueryCommand: jest.fn(), ScanCommand: jest.fn(), DeleteCommand: jest.fn(), UpdateCommand: jest.fn(), BatchGetCommand: jest.fn(), }; }); // Mock AWS SDK v3 Lambda jest.mock('@aws-sdk/client-lambda', () => { return { LambdaClient: jest.fn().mockImplementation(() => ({ send: jest.fn(), destroy: jest.fn().mockResolvedValue(undefined), })), InvokeCommand: jest.fn(), GetFunctionConfigurationCommand: jest.fn(), }; }); // Mock AWS SDK v3 S3 jest.mock('@aws-sdk/client-s3', () => { return { S3Client: jest.fn().mockImplementation(() => ({ send: jest.fn(), destroy: jest.fn().mockResolvedValue(undefined), })), PutObjectCommand: jest.fn(), GetObjectCommand: jest.fn(), DeleteObjectCommand: jest.fn(), ListObjectsV2Command: jest.fn(), HeadObjectCommand: jest.fn(), CopyObjectCommand: jest.fn(), }; }); // Mock AWS SDK v3 SQS jest.mock('@aws-sdk/client-sqs', () => { return { SQSClient: jest.fn().mockImplementation(() => ({ send: jest.fn(), destroy: jest.fn().mockResolvedValue(undefined), })), SendMessageCommand: jest.fn(), ReceiveMessageCommand: jest.fn(), DeleteMessageCommand: jest.fn(), SendMessageBatchCommand: jest.fn(), DeleteMessageBatchCommand: jest.fn(), GetQueueAttributesCommand: jest.fn(), CreateQueueCommand: jest.fn(), DeleteQueueCommand: jest.fn(), }; }); // Mock AWS SDK v3 Cognito jest.mock('@aws-sdk/client-cognito-identity-provider', () => { return { CognitoIdentityProviderClient: jest.fn().mockImplementation(() => ({ send: jest.fn(), destroy: jest.fn().mockResolvedValue(undefined), })), AuthFlowType: { USER_PASSWORD_AUTH: 'USER_PASSWORD_AUTH', REFRESH_TOKEN_AUTH: 'REFRESH_TOKEN_AUTH', }, SignUpCommand: jest.fn(), InitiateAuthCommand: jest.fn(), ConfirmSignUpCommand: jest.fn(), ForgotPasswordCommand: jest.fn(), ConfirmForgotPasswordCommand: jest.fn(), CreateGroupCommand: jest.fn(), RevokeTokenCommand: jest.fn(), DeleteGroupCommand: jest.fn(), ChangePasswordCommand: jest.fn(), AdminAddUserToGroupCommand: jest.fn(), AdminRemoveUserFromGroupCommand: jest.fn(), AdminDeleteUserCommand: jest.fn(), }; }); // Global test cleanup afterAll(async () => { // Ensure all timers are cleared jest.clearAllTimers(); jest.useRealTimers(); // Add small delay to allow any pending operations to complete await new Promise((resolve) => setTimeout(resolve, 100)); });