From bcd2c603f422181dd1ba52961fb01447829a4135 Mon Sep 17 00:00:00 2001 From: mlogclub Date: Tue, 28 Apr 2026 23:09:50 +0800 Subject: [PATCH] fix(notification): ensure BuildNotificationList returns an empty slice instead of nil --- internal/builders/notification_builder.go | 3 --- internal/builders/notification_builder_test.go | 18 ++++++++++++++++++ 2 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 internal/builders/notification_builder_test.go diff --git a/internal/builders/notification_builder.go b/internal/builders/notification_builder.go index f52cee2..b6622c1 100644 --- a/internal/builders/notification_builder.go +++ b/internal/builders/notification_builder.go @@ -25,9 +25,6 @@ func BuildNotification(item *models.Notification) *response.NotificationResponse } func BuildNotificationList(list []models.Notification) []response.NotificationResponse { - if len(list) == 0 { - return nil - } results := make([]response.NotificationResponse, 0, len(list)) for i := range list { if item := BuildNotification(&list[i]); item != nil { diff --git a/internal/builders/notification_builder_test.go b/internal/builders/notification_builder_test.go new file mode 100644 index 0000000..1307abd --- /dev/null +++ b/internal/builders/notification_builder_test.go @@ -0,0 +1,18 @@ +package builders + +import ( + "testing" + + "cs-agent/internal/models" +) + +func TestBuildNotificationListReturnsEmptySlice(t *testing.T) { + results := BuildNotificationList([]models.Notification{}) + + if results == nil { + t.Fatalf("expected empty slice, got nil") + } + if len(results) != 0 { + t.Fatalf("expected empty slice, got %d items", len(results)) + } +}