diff --git a/voicemessage/voice_message.go b/voicemessage/voice_message.go index 3b8a6c8..5d47f43 100644 --- a/voicemessage/voice_message.go +++ b/voicemessage/voice_message.go @@ -119,7 +119,9 @@ func paramsToRequest(recipients []string, body string, params *Params) (*voiceMe request.Voice = params.Voice request.Repeat = params.Repeat request.IfMachine = params.IfMachine - request.ScheduledDatetime = params.ScheduledDatetime.Format(time.RFC3339) + if !params.ScheduledDatetime.IsZero() { + request.ScheduledDatetime = params.ScheduledDatetime.Format(time.RFC3339) + } return request, nil } diff --git a/voicemessage/voice_message_test.go b/voicemessage/voice_message_test.go index fbbd440..2ddfcfc 100644 --- a/voicemessage/voice_message_test.go +++ b/voicemessage/voice_message_test.go @@ -5,7 +5,7 @@ import ( "testing" "time" - "github.com/messagebird/go-rest-api/v9" + messagebird "github.com/messagebird/go-rest-api/v9" "github.com/messagebird/go-rest-api/v9/internal/mbtest" "github.com/stretchr/testify/assert" ) @@ -124,3 +124,13 @@ func TestRequestDataForVoiceMessage(t *testing.T) { assert.Equal(t, "continue", request.IfMachine) assert.Equal(t, voiceParams.ScheduledDatetime.Format(time.RFC3339), request.ScheduledDatetime) } + +func TestRequestDataForVoiceMessageZeroScheduledDatetime(t *testing.T) { + voiceParams := &Params{ + // ScheduledDatetime will default to zero-time + } + + request, err := paramsToRequest([]string{"31612345678"}, "MyBody", voiceParams) + assert.NoError(t, err) + assert.Equal(t, "", request.ScheduledDatetime, "Uninitialized ScheduledDatetime should default to empty string") +}