@@ -66,6 +66,11 @@ jest.mock('@salesforce/commerce-sdk-react', () => {
6666 accountId : 'stripe-account-1' ,
6767 vendor : 'Stripe' ,
6868 paymentMethods : [ { id : 'card' } ]
69+ } ,
70+ {
71+ accountId : 'paypal-account-1' ,
72+ vendor : 'Paypal' ,
73+ paymentMethods : [ { id : 'paypal' } ]
6974 }
7075 ]
7176 }
@@ -235,14 +240,18 @@ const setupComponentAndGetPaymentElement = async () => {
235240 return checkoutCall [ 4 ]
236241}
237242
238- const firePaymentMethodSelectedEvent = async ( paymentElement , detail = { } ) => {
243+ const firePaymentMethodSelectedEvent = async (
244+ paymentElement ,
245+ selectedPaymentMethod = 'card' ,
246+ detail = { }
247+ ) => {
239248 await act ( async ( ) => {
240249 paymentElement . dispatchEvent (
241250 new CustomEvent ( 'sfp:paymentmethodselected' , {
242251 bubbles : true ,
243252 composed : true ,
244253 detail : {
245- selectedPaymentMethod : 'card' ,
254+ selectedPaymentMethod,
246255 ...detail
247256 }
248257 } )
@@ -377,7 +386,9 @@ describe('SFPaymentsSheet - SDK Event Handler Tests', () => {
377386 test ( 'handlePaymentButtonApprove includes setupFutureUsage when savePaymentMethodForFutureUse is true' , async ( ) => {
378387 const paymentElement = await setupComponentAndGetPaymentElement ( )
379388
380- await firePaymentMethodSelectedEvent ( paymentElement , { savePaymentMethodForFutureUse : true } )
389+ await firePaymentMethodSelectedEvent ( paymentElement , 'card' , {
390+ savePaymentMethodForFutureUse : true
391+ } )
381392 await firePaymentApproveEvent ( paymentElement , { savePaymentMethodForFutureUse : true } )
382393
383394 await waitFor (
@@ -399,7 +410,9 @@ describe('SFPaymentsSheet - SDK Event Handler Tests', () => {
399410 test ( 'handlePaymentButtonApprove does not include setupFutureUsage when savePaymentMethodForFutureUse is false' , async ( ) => {
400411 const paymentElement = await setupComponentAndGetPaymentElement ( )
401412
402- await firePaymentMethodSelectedEvent ( paymentElement , { savePaymentMethodForFutureUse : false } )
413+ await firePaymentMethodSelectedEvent ( paymentElement , 'card' , {
414+ savePaymentMethodForFutureUse : false
415+ } )
403416 await firePaymentApproveEvent ( paymentElement , { savePaymentMethodForFutureUse : false } )
404417
405418 await waitFor (
@@ -418,7 +431,9 @@ describe('SFPaymentsSheet - SDK Event Handler Tests', () => {
418431 test ( 'handlePaymentButtonApprove includes required fields for PaymentsCustomer record creation' , async ( ) => {
419432 const paymentElement = await setupComponentAndGetPaymentElement ( )
420433
421- await firePaymentMethodSelectedEvent ( paymentElement , { savePaymentMethodForFutureUse : true } )
434+ await firePaymentMethodSelectedEvent ( paymentElement , 'card' , {
435+ savePaymentMethodForFutureUse : true
436+ } )
422437 await firePaymentApproveEvent ( paymentElement , { savePaymentMethodForFutureUse : true } )
423438
424439 await waitFor (
@@ -463,6 +478,10 @@ describe('SFPaymentsSheet - SDK Event Handler Tests', () => {
463478 const checkoutCall = mockCheckout . mock . calls [ 0 ]
464479 const config = checkoutCall [ 2 ]
465480
481+ await firePaymentMethodSelectedEvent ( paymentElement , 'paypal' , {
482+ requiresPayButton : false
483+ } )
484+
466485 await config . actions . createIntent ( )
467486
468487 await act ( async ( ) => {
@@ -540,7 +559,7 @@ describe('SFPaymentsSheet - SDK Event Handler Tests', () => {
540559 const checkoutCall = mockCheckout . mock . calls [ 0 ]
541560 const paymentElement = checkoutCall [ 4 ]
542561
543- await firePaymentMethodSelectedEvent ( paymentElement , { requiresPayButton : true } )
562+ await firePaymentMethodSelectedEvent ( paymentElement , 'card' , { requiresPayButton : true } )
544563
545564 await waitFor ( ( ) => {
546565 expect ( mockOnRequiresPayButtonChange ) . toHaveBeenCalledWith ( true )
0 commit comments