feat(messages): align retry status parity

This commit is contained in:
2026-06-06 04:44:20 +08:00
parent 45c7cad4dd
commit 7ffd11a955
4 changed files with 64 additions and 12 deletions
@@ -13,6 +13,7 @@ import (
"github.com/gin-gonic/gin"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite"
"gorm.io/datatypes"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
"gorm.io/gorm/logger"
@@ -560,6 +561,11 @@ func (s *MessageHandlerTestSuite) TestDelete_NotFound() {
// --- Retry Tests ---
func (s *MessageHandlerTestSuite) TestRetry_Success() {
s.Require().NoError(s.db.Model(s.testMessage).Updates(map[string]interface{}{
"status": "failed",
"content_attributes": datatypes.JSON([]byte(`{"external_error":"provider failed"}`)),
}).Error)
w := httptest.NewRecorder()
url := msgRetryURL(s.testAccount.ID, s.testConv.ID, s.testMessage.ID)
req, _ := http.NewRequest("POST", url, nil)
@@ -570,6 +576,8 @@ func (s *MessageHandlerTestSuite) TestRetry_Success() {
json.Unmarshal(w.Body.Bytes(), &resp)
assert.Equal(s.T(), float64(s.testMessage.ID), resp["id"])
assert.Equal(s.T(), float64(1), resp["message_type"])
assert.Equal(s.T(), "sent", resp["status"])
assert.Equal(s.T(), map[string]interface{}{}, resp["content_attributes"])
}
func (s *MessageHandlerTestSuite) TestRetry_InvalidAccountID() {