add local

This commit is contained in:
2026-10-09 15:33:18 +07:00
parent 0210a0ed15
commit 2a1d7ca654
6 changed files with 90 additions and 12 deletions
+22
View File
@@ -0,0 +1,22 @@
package app
import (
"fmt"
"testing"
"evening_detective_server/internal/services/users_service"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
)
func TestLocalAccountErrorStatus(t *testing.T) {
for _, test := range []struct{ name string }{{"email unavailable"}} {
t.Run(test.name, func(t *testing.T) {
err := userErrorStatus(fmt.Errorf("private detail: %w", users_service.ErrEmailUnavailable), "account failed")
if status.Code(err) != codes.FailedPrecondition || status.Convert(err).Message() != users_service.ErrEmailUnavailable.Error() {
t.Fatalf("status = %v", err)
}
})
}
}
+2
View File
@@ -11,6 +11,8 @@ import (
func userErrorStatus(err error, internalMessage string) error {
switch {
case errors.Is(err, users_service.ErrEmailUnavailable):
return status.Error(codes.FailedPrecondition, users_service.ErrEmailUnavailable.Error())
case errors.Is(err, users_service.ErrUserNotFound):
return status.Error(codes.NotFound, err.Error())
case errors.Is(err, users_service.ErrTermsNotAccepted), errors.Is(err, users_service.ErrInvalidEmail), errors.Is(err, users_service.ErrInvalidRole), errors.Is(err, users_service.ErrInvalidPasswordChange):