96 lines
3.3 KiB
Go
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
|
|
}
|