package usecase import ( "testing" "time" notifconfig "gateway/internal/model/notification/config" "github.com/stretchr/testify/assert" ) func TestRetryDelay_UsesBackoffSeconds(t *testing.T) { cfg := notifconfig.AsyncConfig{BackoffSeconds: []int{1, 5, 30}} assert.Equal(t, time.Second, retryDelay(cfg, 1)) assert.Equal(t, 5*time.Second, retryDelay(cfg, 2)) assert.Equal(t, 30*time.Second, retryDelay(cfg, 99)) } func TestEffectiveMaxRetry_Default(t *testing.T) { assert.Equal(t, 5, effectiveMaxRetry(notifconfig.AsyncConfig{})) assert.Equal(t, 3, effectiveMaxRetry(notifconfig.AsyncConfig{MaxRetry: 3})) }