Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
@@ -140,6 +140,62 @@ func TestHasRefundCommissionLog(t *testing.T) {
|
||||
})
|
||||
}
|
||||
|
||||
func TestHasOrderRefundLog(t *testing.T) {
|
||||
const orderNo = "ORD-REFUND-AUDIT-1"
|
||||
|
||||
t.Run("returns true when order refund audit log exists", func(t *testing.T) {
|
||||
db, mock, cleanup := newRefundLogTestDB(t)
|
||||
defer cleanup()
|
||||
|
||||
mock.ExpectQuery("FROM `system_logs`").
|
||||
WithArgs(uint8(24), fmt.Sprintf(`%%"order_no":"%s"%%`, orderNo)).
|
||||
WillReturnRows(sqlmock.NewRows([]string{"id", "content"}).
|
||||
AddRow(1, fmt.Sprintf(`{"order_id":100,"order_no":"%s","order_status_after":7}`, orderNo)))
|
||||
|
||||
got, err := HasOrderRefundLog(db, orderNo)
|
||||
if err != nil {
|
||||
t.Fatalf("HasOrderRefundLog error: %v", err)
|
||||
}
|
||||
if !got {
|
||||
t.Fatalf("HasOrderRefundLog = false, want true")
|
||||
}
|
||||
assertRefundLogExpectations(t, mock)
|
||||
})
|
||||
|
||||
t.Run("returns false when audit log order_no does not match", func(t *testing.T) {
|
||||
db, mock, cleanup := newRefundLogTestDB(t)
|
||||
defer cleanup()
|
||||
|
||||
mock.ExpectQuery("FROM `system_logs`").
|
||||
WithArgs(uint8(24), fmt.Sprintf(`%%"order_no":"%s"%%`, orderNo)).
|
||||
WillReturnRows(sqlmock.NewRows([]string{"id", "content"}).
|
||||
AddRow(1, `{"order_id":100,"order_no":"OTHER","order_status_after":7}`))
|
||||
|
||||
got, err := HasOrderRefundLog(db, orderNo)
|
||||
if err != nil {
|
||||
t.Fatalf("HasOrderRefundLog error: %v", err)
|
||||
}
|
||||
if got {
|
||||
t.Fatalf("HasOrderRefundLog = true, want false")
|
||||
}
|
||||
assertRefundLogExpectations(t, mock)
|
||||
})
|
||||
|
||||
t.Run("returns false for empty order_no without querying", func(t *testing.T) {
|
||||
db, mock, cleanup := newRefundLogTestDB(t)
|
||||
defer cleanup()
|
||||
|
||||
got, err := HasOrderRefundLog(db, "")
|
||||
if err != nil {
|
||||
t.Fatalf("HasOrderRefundLog error: %v", err)
|
||||
}
|
||||
if got {
|
||||
t.Fatalf("HasOrderRefundLog = true, want false")
|
||||
}
|
||||
assertRefundLogExpectations(t, mock)
|
||||
})
|
||||
}
|
||||
|
||||
func newRefundLogTestDB(t *testing.T) (*gorm.DB, sqlmock.Sqlmock, func()) {
|
||||
t.Helper()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user