@@ -392,6 +392,49 @@ def test_payment_intent_expire(self):
392392 assert result .method == "post"
393393 assert result .url == f"v1/payment_intents/{ payment_intent_id } /expire"
394394
395+ def test_refund_list (self ):
396+ """Test getting all refunds."""
397+ refunds = list (self .fintoc .refunds .list ())
398+
399+ assert len (refunds ) > 0
400+ for refund in refunds :
401+ assert refund .method == "get"
402+ assert refund .url == "v1/refunds"
403+
404+ def test_refund_get (self ):
405+ """Test getting a specific refund."""
406+ refund_id = "test_refund_id"
407+
408+ refund = self .fintoc .refunds .get (refund_id )
409+
410+ assert refund .method == "get"
411+ assert refund .url == f"v1/refunds/{ refund_id } "
412+
413+ def test_refund_create (self ):
414+ """Test creating a refund."""
415+ refund_data = {
416+ "resource_type" : "payment_intent" ,
417+ "resource_id" : "pi_30yWq311fOLrAAKkSH1bvODVLGa" ,
418+ "amount" : 1000 ,
419+ }
420+
421+ refund = self .fintoc .refunds .create (** refund_data )
422+
423+ assert refund .method == "post"
424+ assert refund .url == "v1/refunds"
425+ assert refund .json .resource_type == refund_data ["resource_type" ]
426+ assert refund .json .resource_id == refund_data ["resource_id" ]
427+ assert refund .json .amount == refund_data ["amount" ]
428+
429+ def test_refund_cancel (self ):
430+ """Test canceling a refund."""
431+ refund_id = "ref_QmbpWzP1HOngN3X7"
432+
433+ refund = self .fintoc .refunds .cancel (refund_id )
434+
435+ assert refund .method == "post"
436+ assert refund .url == f"v1/refunds/{ refund_id } /cancel"
437+
395438 def test_subscription_intents_list (self ):
396439 """Test getting all subscription intents."""
397440 subscription_intents = list (self .fintoc .subscription_intents .list ())
0 commit comments