chore: add test for additional-cost
diff --git a/erpnext/controllers/tests/test_subcontracting_controller.py b/erpnext/controllers/tests/test_subcontracting_controller.py
index 4fab805..bc503f5 100644
--- a/erpnext/controllers/tests/test_subcontracting_controller.py
+++ b/erpnext/controllers/tests/test_subcontracting_controller.py
@@ -36,6 +36,36 @@
 		sco.remove_empty_rows()
 		self.assertEqual((len_before - 1), len(sco.service_items))
 
+	def test_set_missing_values_in_additional_costs(self):
+		sco = get_subcontracting_order(do_not_submit=1)
+
+		rate_without_additional_cost = sco.items[0].rate
+		amount_without_additional_cost = sco.items[0].amount
+
+		additional_amount = 120
+		sco.append(
+			"additional_costs",
+			{
+				"expense_account": "Cost of Goods Sold - _TC",
+				"description": "Test",
+				"amount": additional_amount,
+			},
+		)
+		sco.save()
+
+		additional_cost_per_qty = additional_amount / sco.items[0].qty
+
+		self.assertEqual(sco.items[0].additional_cost_per_qty, additional_cost_per_qty)
+		self.assertEqual(rate_without_additional_cost + additional_cost_per_qty, sco.items[0].rate)
+		self.assertEqual(amount_without_additional_cost + additional_amount, sco.items[0].amount)
+
+		sco.additional_costs = []
+		sco.save()
+
+		self.assertEqual(sco.items[0].additional_cost_per_qty, 0)
+		self.assertEqual(rate_without_additional_cost, sco.items[0].rate)
+		self.assertEqual(amount_without_additional_cost, sco.items[0].amount)
+
 	def test_create_raw_materials_supplied(self):
 		sco = get_subcontracting_order()
 		sco.supplied_items = None