diff --git a/api/db/order.go b/api/db/order.go index e00e4b8cb70deb99fe8dd4d099399f1b0033dd79..72936c00c646f7169624c1adafe17fdcf8ba971d 100644 --- a/api/db/order.go +++ b/api/db/order.go @@ -173,6 +173,13 @@ func (d *DB) updateOrderPurchase(memberNum int, transaction *Transaction, total if err != nil { return err } + + for _, p := range transaction.OrderPurchase { + err = tx.Save(&p).Error + if err != nil { + return err + } + } return tx.Save(&transaction).Error }) } diff --git a/api/order_test.go b/api/order_test.go index f8ceb39652764d88ad13da67c568e64f860a61d9..53da7de5f06fd0887dc863029116b055eea46fd7 100644 --- a/api/order_test.go +++ b/api/order_test.go @@ -401,6 +401,9 @@ func TestUpdateOrderPurchase(t *testing.T) { if transactions[0].Total != -total { t.Fatal("Wrong total", transactions[0].Total) } + if transactions[0].OrderPurchase[0].Amount != 2 { + t.Fatal("Wrong amount", transactions[0].OrderPurchase) + } resp = tapi.do("GET", "/order/active", nil, &orders) if resp.StatusCode != http.StatusOK {