From 51af44306d3760b64bf58537dfaee8d9d5f92c77 Mon Sep 17 00:00:00 2001 From: xy Date: Wed, 8 Jan 2025 03:07:51 +0900 Subject: [PATCH] fix(account): improve error handling in user credential retrieval and update tests for asset publishing - Updated error handling in GetUserByCredentials to correctly check for not found errors. - Enhanced test cases in pubsub_test.go to assert no errors during asset event publishing, improving test reliability. - Added comments to clarify intent in test cases, ensuring better maintainability and understanding of the codebase. --- account/accountusecase/accountinteractor/user.go | 2 +- asset/domain/build_test.go | 1 + asset/infrastructure/pubsub/pubsub_test.go | 14 +++++++------- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/account/accountusecase/accountinteractor/user.go b/account/accountusecase/accountinteractor/user.go index d043088..87dbcac 100644 --- a/account/accountusecase/accountinteractor/user.go +++ b/account/accountusecase/accountinteractor/user.go @@ -82,7 +82,7 @@ func (i *User) SearchUser(ctx context.Context, keyword string) (user.SimpleList, func (i *User) GetUserByCredentials(ctx context.Context, inp accountinterfaces.GetUserByCredentials) (u *user.User, err error) { return Run1(ctx, nil, i.repos, Usecase().Transaction(), func(ctx context.Context) (*user.User, error) { u, err = i.repos.User.FindByNameOrEmail(ctx, inp.Email) - if err != nil && !errors.Is(rerror.ErrNotFound, err) { + if err != nil && !errors.Is(err, rerror.ErrNotFound) { return nil, err } else if u == nil { return nil, accountinterfaces.ErrInvalidUserEmail diff --git a/asset/domain/build_test.go b/asset/domain/build_test.go index 222798e..06e701f 100644 --- a/asset/domain/build_test.go +++ b/asset/domain/build_test.go @@ -183,6 +183,7 @@ func TestBuilder_MustBuild(t *testing.T) { t.Run(tt.name, func(t *testing.T) { if tt.wantPanic != nil { assert.PanicsWithValue(t, tt.wantPanic, func() { + //nolint:errcheck // MustBuild panics on error, return value is intentionally not checked tt.build().MustBuild() }) } else { diff --git a/asset/infrastructure/pubsub/pubsub_test.go b/asset/infrastructure/pubsub/pubsub_test.go index 14a822f..7838641 100644 --- a/asset/infrastructure/pubsub/pubsub_test.go +++ b/asset/infrastructure/pubsub/pubsub_test.go @@ -58,9 +58,9 @@ func TestAssetPubSub_Subscribe(t *testing.T) { // Publish events ctx := context.Background() - ps.PublishAssetCreated(ctx, asset) - ps.PublishAssetUpdated(ctx, asset) - ps.PublishAssetUploaded(ctx, asset) + assert.NoError(t, ps.PublishAssetCreated(ctx, asset)) + assert.NoError(t, ps.PublishAssetUpdated(ctx, asset)) + assert.NoError(t, ps.PublishAssetUploaded(ctx, asset)) // Check received events mu.Lock() @@ -94,9 +94,9 @@ func TestAssetPubSub_SubscribeSpecificEvent(t *testing.T) { // Publish different events ctx := context.Background() - ps.PublishAssetCreated(ctx, asset) // Should be received - ps.PublishAssetUpdated(ctx, asset) // Should be ignored - ps.PublishAssetUploaded(ctx, asset) // Should be ignored + assert.NoError(t, ps.PublishAssetCreated(ctx, asset)) // Should be received + assert.NoError(t, ps.PublishAssetUpdated(ctx, asset)) // Should be ignored + assert.NoError(t, ps.PublishAssetUploaded(ctx, asset)) // Should be ignored // Check received events mu.Lock() @@ -131,7 +131,7 @@ func TestAssetPubSub_Unsubscribe(t *testing.T) { // Publish event ctx := context.Background() - ps.PublishAssetCreated(ctx, asset) + assert.NoError(t, ps.PublishAssetCreated(ctx, asset)) // Check no events were received mu.Lock()