package v1 import ( "testing" "github.com/gochat/gochat/internal/automation" channelmodel "github.com/gochat/gochat/internal/model/channel" "github.com/stretchr/testify/require" ) func TestChatwootActionParams_Nil_Cov29(t *testing.T) { require.Equal(t, []interface{}{}, chatwootActionParams(automation.Action{ActionParams: nil})) } func TestChatwootActionParams_AssignAgent_Cov29(t *testing.T) { result := chatwootActionParams(automation.Action{ ActionName: "assign_agent", ActionParams: map[string]interface{}{ "assignee_id": 1.0, "agent_id": 2.0, }, }) require.NotNil(t, result) } func TestChatwootActionParams_AssignTeam_Cov29(t *testing.T) { result := chatwootActionParams(automation.Action{ ActionName: "assign_team", ActionParams: map[string]interface{}{"team_id": 1.0}, }) require.NotNil(t, result) } func TestChatwootActionParams_SendEmail_Cov29(t *testing.T) { result := chatwootActionParams(automation.Action{ ActionName: "send_email_to_team", ActionParams: map[string]interface{}{"team_ids": []interface{}{1.0}}, }) require.NotNil(t, result) } func TestChatwootActionParams_Unknown_Cov29(t *testing.T) { result := chatwootActionParams(automation.Action{ ActionName: "unknown", ActionParams: map[string]interface{}{"key": "val"}, }) require.NotNil(t, result) } func TestCaptainEscapeJSONString_All_Cov29(t *testing.T) { require.Equal(t, `\"`, captainEscapeJSONString(`"`)) require.Equal(t, `\\`, captainEscapeJSONString(`\`)) require.Equal(t, `\n`, captainEscapeJSONString("\n")) require.Equal(t, `\r`, captainEscapeJSONString("\r")) require.Equal(t, `\t`, captainEscapeJSONString("\t")) require.Equal(t, "normal", captainEscapeJSONString("normal")) } func TestPositiveInt_All_Cov29(t *testing.T) { require.Equal(t, 0, positiveInt(nil)) require.Equal(t, 5, positiveInt(float64(5))) require.Equal(t, 0, positiveInt(float64(-5))) require.Equal(t, 0, positiveInt(float64(0))) require.Equal(t, 3, positiveInt(3)) require.Equal(t, 0, positiveInt(-3)) require.Equal(t, 42, positiveInt("42")) require.Equal(t, 0, positiveInt("abc")) require.Equal(t, 0, positiveInt("")) require.Equal(t, 0, positiveInt("-5")) } func TestParseMacroVisibility_All_Cov29(t *testing.T) { require.Equal(t, automation.MacroVisibilityGlobal, parseMacroVisibility("global")) require.Equal(t, automation.MacroVisibilityGlobal, parseMacroVisibility("GLOBAL")) require.Equal(t, automation.MacroVisibilityGlobal, parseMacroVisibility(float64(1))) require.Equal(t, automation.MacroVisibilityGlobal, parseMacroVisibility(1)) require.Equal(t, automation.MacroVisibility(0), parseMacroVisibility("personal")) require.Equal(t, automation.MacroVisibility(0), parseMacroVisibility(float64(0))) require.Equal(t, automation.MacroVisibility(0), parseMacroVisibility(0)) require.Equal(t, automation.MacroVisibility(0), parseMacroVisibility(nil)) } func TestLineUpdateChannelConfig_All_Cov29(t *testing.T) { ch := &channelmodel.ChannelLINE{} // With updates result := lineUpdateChannelConfig(UpdateLINEChannelRequest{ ChannelAccessToken: "new-token", ChannelSecret: "new-secret", }, ch) require.Equal(t, "new-token", result["line_channel_token"]) require.Equal(t, "new-secret", result["line_channel_secret"]) // Without updates result2 := lineUpdateChannelConfig(UpdateLINEChannelRequest{}, ch) _ = result2 }