import * as Mppx from 'mppx' import * as Mpp from '../Mpp.js' import * as MppError from './Error.js' import * as ScreenManager from './ScreenManager.js' describe('map', () => { test.each([ [new Mppx.Errors.PaymentMethodUnsupportedError(), Mpp.relayErrorCode.unsupported], [new Mppx.Errors.PaymentExpiredError(), Mpp.relayErrorCode.expired], [new Mppx.Errors.InsufficientBalanceError(), Mpp.relayErrorCode.insufficientFunds], [new Mppx.Errors.PaymentInsufficientError(), Mpp.relayErrorCode.insufficientFunds], [ new Mppx.Errors.InvalidChallengeError({ reason: 'already used' }), Mpp.relayErrorCode.alreadyUsed, ], [new Mppx.Errors.InvalidChallengeError(), Mpp.relayErrorCode.invalidPayment], [new Mppx.Errors.InvalidPayloadError(), Mpp.relayErrorCode.invalidPayment], [new Mppx.Errors.InvalidSignatureError(), Mpp.relayErrorCode.invalidPayment], [new Mppx.Errors.MalformedCredentialError(), Mpp.relayErrorCode.invalidPayment], [new Mppx.Errors.VerificationFailedError(), Mpp.relayErrorCode.invalidPayment], [ new Mppx.Errors.VerificationFailedError({ reason: 'Transaction hash has already been used' }), Mpp.relayErrorCode.alreadyUsed, ], [new ScreenManager.RejectedError(), Mpp.relayErrorCode.screenRejected], [new Error('Transaction simulation failed.'), Mpp.relayErrorCode.simulationFailed], [new Error('Transaction broadcast failed.'), Mpp.relayErrorCode.broadcastFailed], [new Error('Unexpected failure.'), Mpp.relayErrorCode.unknown], ] as const)('maps %s', (cause, code) => { expect(MppError.map(cause)).toMatchObject({ code }) }) })