Files
gochat/backend/internal/handler/api/v1/coverage29_test.go
T

96 lines
3.3 KiB
Go

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
}