Skip to content

Commit

Permalink
fix: fix unit test
Browse files Browse the repository at this point in the history
  • Loading branch information
LinZexiao committed Jul 19, 2023
1 parent c894108 commit 0c39aab
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 23 deletions.
4 changes: 2 additions & 2 deletions integration_test/message_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -396,8 +396,8 @@ func testListMessageByFromState(ctx context.Context, t *testing.T, api, apiSign
assert.NoError(t, err)
assert.Len(t, msgs, idsLen)
checkCreatedAt(msgs, isAsc)
for i, msg := range msgs {
assert.Equal(t, ids[idsLen-1-i], msg.ID)
for _, msg := range msgs {
assert.Contains(t, ids, msg.ID)
}
}
}
Expand Down
5 changes: 2 additions & 3 deletions models/mysql/message.go
Original file line number Diff line number Diff line change
Expand Up @@ -426,10 +426,9 @@ func (m *mysqlMessageRepo) ListFailedMessage(params *repo.MsgQueryParams) ([]*ty
var sqlMsgs []*mysqlMessage
params.State = []types.MessageState{types.UnFillMsg}

query := parseQueryParams(m.DB, params)

query.Order("created_at")
query := m.DB.Order("created_at")
query.Where("error_msg != ?", "")
query = parseQueryParams(query, params)

err := query.Find(&sqlMsgs).Error
if err != nil {
Expand Down
26 changes: 13 additions & 13 deletions models/mysql/message_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ func TestListMessageByParams(t *testing.T) {
state := types.OnChainMsg

t.Run("by from", func(t *testing.T) {
mock.ExpectQuery(regexp.QuoteMeta("SELECT * FROM `messages` WHERE `from_addr` = ?")).
mock.ExpectQuery(regexp.QuoteMeta("SELECT * FROM `messages` WHERE from_addr IN (?) ORDER BY updated_at desc")).
WithArgs(from1.String()).
WillReturnRows(sqlmock.NewRows([]string{"id"}))

Expand All @@ -38,7 +38,7 @@ func TestListMessageByParams(t *testing.T) {
})

t.Run("by state", func(t *testing.T) {
mock.ExpectQuery(regexp.QuoteMeta("SELECT * FROM `messages` WHERE `state` = ?")).
mock.ExpectQuery(regexp.QuoteMeta("SELECT * FROM `messages` WHERE state IN (?) ORDER BY updated_at desc")).
WithArgs(state).
WillReturnRows(sqlmock.NewRows([]string{"id"}))

Expand All @@ -47,7 +47,7 @@ func TestListMessageByParams(t *testing.T) {
})

t.Run("by from and state", func(t *testing.T) {
mock.ExpectQuery(regexp.QuoteMeta("SELECT * FROM `messages` WHERE `from_addr` = ? AND `state` = ?")).
mock.ExpectQuery(regexp.QuoteMeta("SELECT * FROM `messages` WHERE from_addr IN (?) AND state IN (?) ORDER BY updated_at desc")).
WithArgs(from1.String(), state).
WillReturnRows(sqlmock.NewRows([]string{"id"}))

Expand All @@ -56,7 +56,7 @@ func TestListMessageByParams(t *testing.T) {
})

t.Run("by multi address", func(t *testing.T) {
mock.ExpectQuery(regexp.QuoteMeta("SELECT * FROM `messages` WHERE `from_addr` IN (?,?)")).
mock.ExpectQuery(regexp.QuoteMeta("SELECT * FROM `messages` WHERE from_addr IN (?,?) ORDER BY updated_at desc")).
WithArgs(from1.String(), from2.String()).
WillReturnRows(sqlmock.NewRows([]string{"id"}))

Expand Down Expand Up @@ -399,17 +399,17 @@ func TestListFailedMessage(t *testing.T) {
ids := []string{"msg1", "msg2"}

t.Run("no param", func(t *testing.T) {
mock.ExpectQuery(regexp.QuoteMeta("SELECT * FROM `messages` WHERE `state` = ? AND (error_msg != ?) ORDER BY created_at")).
WithArgs(types.UnFillMsg, "").WillReturnRows(sqlmock.NewRows([]string{"id"}).AddRow(ids[0]).AddRow(ids[1]))
mock.ExpectQuery(regexp.QuoteMeta("SELECT * FROM `messages` WHERE (error_msg != ?) AND state IN (?) ORDER BY created_at,updated_at desc")).
WithArgs("", types.UnFillMsg).WillReturnRows(sqlmock.NewRows([]string{"id"}).AddRow(ids[0]).AddRow(ids[1]))

res, err := r.MessageRepo().ListFailedMessage(&repo.MsgQueryParams{})
assert.NoError(t, err)
checkMsgWithIDs(t, res, ids)
})

t.Run("state cover", func(t *testing.T) {
mock.ExpectQuery(regexp.QuoteMeta("SELECT * FROM `messages` WHERE `state` = ? AND (error_msg != ?) ORDER BY created_at")).
WithArgs(types.UnFillMsg, "").WillReturnRows(sqlmock.NewRows([]string{"id"}).AddRow(ids[0]).AddRow(ids[1]))
mock.ExpectQuery(regexp.QuoteMeta("SELECT * FROM `messages` WHERE (error_msg != ?) AND state IN (?) ORDER BY created_at,updated_at desc")).
WithArgs("", types.UnFillMsg).WillReturnRows(sqlmock.NewRows([]string{"id"}).AddRow(ids[0]).AddRow(ids[1]))

res, err := r.MessageRepo().ListFailedMessage(&repo.MsgQueryParams{State: []types.MessageState{types.OnChainMsg}})
assert.NoError(t, err)
Expand All @@ -418,8 +418,8 @@ func TestListFailedMessage(t *testing.T) {

t.Run("indicate from", func(t *testing.T) {
addr := testutil.AddressProvider()(t)
mock.ExpectQuery(regexp.QuoteMeta("SELECT * FROM `messages` WHERE `from_addr` = ? AND `state` = ? AND (error_msg != ?) ORDER BY created_at")).
WithArgs(addr.String(), types.UnFillMsg, "").WillReturnRows(sqlmock.NewRows([]string{"id"}).AddRow(ids[0]).AddRow(ids[1]))
mock.ExpectQuery(regexp.QuoteMeta("SELECT * FROM `messages` WHERE (error_msg != ?) AND from_addr IN (?) AND state IN (?) ORDER BY created_at,updated_at desc")).
WithArgs("", addr.String(), types.UnFillMsg).WillReturnRows(sqlmock.NewRows([]string{"id"}).AddRow(ids[0]).AddRow(ids[1]))

res, err := r.MessageRepo().ListFailedMessage(&repo.MsgQueryParams{From: []address.Address{addr}})
assert.NoError(t, err)
Expand All @@ -436,7 +436,7 @@ func TestListBlockedMessage(t *testing.T) {
blocked := time.Second * 3

t.Run("no param", func(t *testing.T) {
mock.ExpectQuery(regexp.QuoteMeta("SELECT * FROM `messages` WHERE `state` IN (?,?) AND created_at < ? ORDER BY created_at")).
mock.ExpectQuery(regexp.QuoteMeta("SELECT * FROM `messages` WHERE state IN (?,?) AND created_at < ? ORDER BY updated_at desc,created_at")).
WithArgs(types.FillMsg, types.UnFillMsg, anyTime{}).
WillReturnRows(sqlmock.NewRows([]string{"id"}).AddRow(ids[0]).AddRow(ids[1]))

Expand All @@ -446,7 +446,7 @@ func TestListBlockedMessage(t *testing.T) {
})

t.Run("param with address", func(t *testing.T) {
mock.ExpectQuery(regexp.QuoteMeta("SELECT * FROM `messages` WHERE `from_addr` = ? AND `state` IN (?,?) AND created_at < ? ORDER BY created_at")).
mock.ExpectQuery(regexp.QuoteMeta("SELECT * FROM `messages` WHERE from_addr IN (?) AND state IN (?,?) AND created_at < ? ORDER BY updated_at desc,created_at")).
WithArgs(from.String(), types.FillMsg, types.UnFillMsg, anyTime{}).
WillReturnRows(sqlmock.NewRows([]string{"id"}).AddRow(ids[0]).AddRow(ids[1]))

Expand All @@ -456,7 +456,7 @@ func TestListBlockedMessage(t *testing.T) {
})

t.Run("param with addresses", func(t *testing.T) {
mock.ExpectQuery(regexp.QuoteMeta("SELECT * FROM `messages` WHERE `from_addr` IN (?,?) AND `state` IN (?,?) AND created_at < ? ORDER BY created_at")).
mock.ExpectQuery(regexp.QuoteMeta("SELECT * FROM `messages` WHERE from_addr IN (?,?) AND state IN (?,?) AND created_at < ? ORDER BY updated_at desc,created_at")).
WithArgs(from.String(), from.String(), types.FillMsg, types.UnFillMsg, anyTime{}).
WillReturnRows(sqlmock.NewRows([]string{"id"}).AddRow(ids[0]).AddRow(ids[1]))

Expand Down
5 changes: 2 additions & 3 deletions models/sqlite/message.go
Original file line number Diff line number Diff line change
Expand Up @@ -428,10 +428,9 @@ func (m *sqliteMessageRepo) ListFailedMessage(params *repo.MsgQueryParams) ([]*t
var sqlMsgs []*sqliteMessage
params.State = []types.MessageState{types.UnFillMsg}

query := parseQueryParams(m.DB, params)

query.Order("created_at")
query := m.DB.Order("created_at")
query.Where("error_msg != ?", "")
query = parseQueryParams(query, params)

err := query.Find(&sqlMsgs).Error
if err != nil {
Expand Down
4 changes: 2 additions & 2 deletions models/sqlite/message_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -458,8 +458,8 @@ func TestListBlockedMessage(t *testing.T) {
&repo.MsgQueryParams{From: []address.Address{msgState[types.FillMsg][0].From, msgState[types.UnFillMsg][0].From}}, time.Second*2)
assert.NoError(t, err)
assert.Equal(t, 2, len(msgList))
testhelper.Equal(t, msgState[types.FillMsg][0], msgList[0])
testhelper.Equal(t, msgState[types.UnFillMsg][0], msgList[1])
testhelper.Equal(t, msgState[types.UnFillMsg][0], msgList[0])
testhelper.Equal(t, msgState[types.FillMsg][0], msgList[1])
}

func TestListUnChainMessageByAddress(t *testing.T) {
Expand Down

0 comments on commit 0c39aab

Please sign in to comment.