first commit

This commit is contained in:
2026-02-18 16:03:43 +07:00
commit c52ecd6514
54 changed files with 8270 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
const mockCharge = jest.fn();
jest.mock('../../app/core/midtrans.service', () => ({
getCoreApi: jest.fn().mockReturnValue({
charge: mockCharge,
transaction: { status: jest.fn(), refund: jest.fn(), cancel: jest.fn() }
}),
getSnap: jest.fn().mockReturnValue({ createTransaction: jest.fn() })
}));
jest.mock('../../models/migration', () => ({
Order: { findByPk: jest.fn(), findOne: jest.fn(), update: jest.fn() },
Payment: { findOne: jest.fn(), create: jest.fn(), update: jest.fn() }
}));
const eWalletService = require('../../app/modules/e-wallet/services/e-wallet.service');
describe('EWalletService', () => {
beforeEach(() => {
jest.clearAllMocks();
});
it('should create a gopay transaction successfully', async () => {
const payload = { order_id: 'u-123', external_id: 'INV-G-001', amount: 25000 };
mockCharge.mockResolvedValue({ status_code: '201' });
const result = await eWalletService.createTransaction(payload, 'gopay');
expect(mockCharge).toHaveBeenCalled();
expect(result.status_code).toBe('201');
});
it('should create a shopeepay transaction successfully', async () => {
const payload = { order_id: 'u-123', external_id: 'INV-S-001', amount: 15000 };
mockCharge.mockResolvedValue({ status_code: '201' });
const result = await eWalletService.createTransaction(payload, 'shopeepay');
expect(mockCharge).toHaveBeenCalled();
});
});