89 lines
2.6 KiB
Go
89 lines
2.6 KiB
Go
package widget
|
|
|
|
import (
|
|
"net/http"
|
|
"net/http/httptest"
|
|
"testing"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
"github.com/gochat/gochat/internal/service"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestWidgetEnabledFeatures_Custom_Cov5(t *testing.T) {
|
|
config := service.WebWidgetConfig{SelectedFeatureFlags: []string{"custom_flag"}}
|
|
result := widgetEnabledFeatures(config)
|
|
assert.Equal(t, []string{"custom_flag"}, result)
|
|
}
|
|
|
|
func TestWidgetEnabledFeatures_Default_Cov5(t *testing.T) {
|
|
config := service.WebWidgetConfig{}
|
|
result := widgetEnabledFeatures(config)
|
|
assert.Equal(t, []string{"attachments", "emoji_picker", "end_conversation"}, result)
|
|
}
|
|
|
|
func TestWidgetEnabledFeatures_Empty_Cov5(t *testing.T) {
|
|
config := service.WebWidgetConfig{SelectedFeatureFlags: []string{}}
|
|
result := widgetEnabledFeatures(config)
|
|
assert.Equal(t, []string{"attachments", "emoji_picker", "end_conversation"}, result)
|
|
}
|
|
|
|
func TestListCampaigns_NoToken_Cov5(t *testing.T) {
|
|
gin.SetMode(gin.TestMode)
|
|
w := httptest.NewRecorder()
|
|
c, _ := gin.CreateTestContext(w)
|
|
c.Request = httptest.NewRequest("GET", "/widget/campaigns", nil)
|
|
h := NewHandler(nil)
|
|
h.ListCampaigns(c)
|
|
assert.Equal(t, http.StatusBadRequest, w.Code)
|
|
}
|
|
|
|
func TestListCampaigns_WithToken_NilService_Cov5(t *testing.T) {
|
|
gin.SetMode(gin.TestMode)
|
|
w := httptest.NewRecorder()
|
|
c, _ := gin.CreateTestContext(w)
|
|
c.Request = httptest.NewRequest("GET", "/widget/campaigns?website_token=test", nil)
|
|
h := NewHandler(nil)
|
|
defer func() { _ = recover() }()
|
|
h.ListCampaigns(c)
|
|
}
|
|
|
|
func TestGetFileUploadStatus_NoToken_Cov5(t *testing.T) {
|
|
gin.SetMode(gin.TestMode)
|
|
w := httptest.NewRecorder()
|
|
c, _ := gin.CreateTestContext(w)
|
|
c.Request = httptest.NewRequest("GET", "/widget/file_upload/status", nil)
|
|
h := NewHandler(nil)
|
|
defer func() { _ = recover() }()
|
|
h.GetFileUploadStatus(c)
|
|
}
|
|
|
|
func TestGetThemeConfig_NoToken_Cov5(t *testing.T) {
|
|
gin.SetMode(gin.TestMode)
|
|
w := httptest.NewRecorder()
|
|
c, _ := gin.CreateTestContext(w)
|
|
c.Request = httptest.NewRequest("GET", "/widget/theme_config", nil)
|
|
h := NewHandler(nil)
|
|
defer func() { _ = recover() }()
|
|
h.GetThemeConfig(c)
|
|
}
|
|
|
|
func TestGetConversations_NoToken_Cov5(t *testing.T) {
|
|
gin.SetMode(gin.TestMode)
|
|
w := httptest.NewRecorder()
|
|
c, _ := gin.CreateTestContext(w)
|
|
c.Request = httptest.NewRequest("GET", "/widget/conversations", nil)
|
|
h := NewHandler(nil)
|
|
defer func() { _ = recover() }()
|
|
h.GetConversations(c)
|
|
}
|
|
|
|
func TestBindWidgetSendMessageRequest_Empty_Cov5(t *testing.T) {
|
|
gin.SetMode(gin.TestMode)
|
|
w := httptest.NewRecorder()
|
|
c, _ := gin.CreateTestContext(w)
|
|
c.Request = httptest.NewRequest("POST", "/widget/messages", nil)
|
|
defer func() { _ = recover() }()
|
|
bindWidgetSendMessageRequest(c)
|
|
}
|