refactor(test): difference amount no updated for exchange gain/loss
diff --git a/erpnext/accounts/test/test_utils.py b/erpnext/accounts/test/test_utils.py
index 3aca60e..3cb5e42 100644
--- a/erpnext/accounts/test/test_utils.py
+++ b/erpnext/accounts/test/test_utils.py
@@ -80,18 +80,27 @@
 		item = make_item().name
 
 		purchase_invoice = make_purchase_invoice(
-			item=item, supplier="_Test Supplier USD", currency="USD", conversion_rate=82.32
+			item=item, supplier="_Test Supplier USD", currency="USD", conversion_rate=82.32, do_not_submit=1
 		)
+		purchase_invoice.credit_to = "_Test Payable USD - _TC"
 		purchase_invoice.submit()
 
 		payment_entry = get_payment_entry(purchase_invoice.doctype, purchase_invoice.name)
-		payment_entry.target_exchange_rate = 62.9
 		payment_entry.paid_amount = 15725
 		payment_entry.deductions = []
-		payment_entry.insert()
+		payment_entry.save()
 
-		self.assertEqual(payment_entry.difference_amount, -4855.00)
+		# below is the difference between base_received_amount and base_paid_amount
+		self.assertEqual(payment_entry.difference_amount, -4855.0)
+
+		payment_entry.target_exchange_rate = 62.9
+		payment_entry.save()
+
+		# below is due to change in exchange rate
+		self.assertEqual(payment_entry.references[0].exchange_gain_loss, -4855.0)
+
 		payment_entry.references = []
+		self.assertEqual(payment_entry.difference_amount, 0.0)
 		payment_entry.submit()
 
 		payment_reconciliation = frappe.new_doc("Payment Reconciliation")