diff --git a/session_update_test.go b/session_update_test.go index 2a7005ee..53fdd270 100644 --- a/session_update_test.go +++ b/session_update_test.go @@ -1331,3 +1331,21 @@ func TestUpdateCondiBean(t *testing.T) { assert.NoError(t, err) assert.True(t, has) } + +func TestWhereCondErrorWhenUpdate(t *testing.T) { + type AuthRequestError struct { + ChallengeToken string + RequestToken string + } + + assert.NoError(t, prepareEngine()) + assertSync(t, new(AuthRequestError)) + + _, err := testEngine.Cols("challenge_token", "request_token", "challenge_agent", "status"). + Where(&AuthRequestError{ChallengeToken: "1"}). + Update(&AuthRequestError{ + ChallengeToken: "2", + }) + assert.Error(t, err) + assert.EqualValues(t, ErrConditionType, err) +} diff --git a/statement.go b/statement.go index 6b336328..96679a87 100644 --- a/statement.go +++ b/statement.go @@ -162,7 +162,7 @@ func (statement *Statement) And(query interface{}, args ...interface{}) *Stateme } } default: - statement.lastError = errors.New("unsupported condition type") + statement.lastError = ErrConditionType } return statement