Files
gochat/backend/internal/service/coverage54_test.go
T
Rogeeandrogee 2b182f9956 H-300: wire Captain Skills into Web runtime (#48)
* H-300: wire Captain Skills into Web runtime

* H-300: enforce effective model and conservative skill budget

* H-300: fix CI gosec step

* ci: extend golangci-lint timeout

* fix lint findings across backend

* fix(push): resolve delivery protocol blockers

* test(repository): close SQLite test databases

* test(repository): reuse SQLite schema per package

* H-307: restore backend Go cache in CI

* H-307: prefetch modules before cold lint

* H-307: resolve govulncheck security gate

* H-307: build lint with patched Go toolchain

* H-307: clear remaining security scan findings

---------

Co-authored-by: Rogee <rogee@ipao.vip>
2026-08-19 07:08:14 +08:00

194 lines
5.8 KiB
Go

package service
import (
"context"
"encoding/json"
"testing"
"github.com/gochat/gochat/internal/model"
"github.com/gochat/gochat/internal/repository"
"gorm.io/gorm"
)
func newInboxSvcCov54(t *testing.T) (*InboxService, *gorm.DB) {
t.Helper()
db := newSimpleServiceTestDB(t)
repo := repository.NewInboxRepo(db)
agentBotInboxRepo := repository.NewAgentBotInboxRepo(db)
agentBotRepo := repository.NewAgentBotRepo(db)
campaignRepo := repository.NewCampaignRepo(db)
webhookSubRepo := repository.NewWebhookSubscriptionRepo(db)
svc := NewInboxService(repo, agentBotInboxRepo, agentBotRepo, campaignRepo, webhookSubRepo, nil, nil)
return svc, db
}
func newConvSvcCov54(t *testing.T) (*ConversationService, *gorm.DB) {
t.Helper()
db := newSimpleServiceTestDB(t)
convRepo := repository.NewConversationRepo(db)
msgRepo := repository.NewMessageRepo(db)
svc := &ConversationService{repo: convRepo, msgRepo: msgRepo}
return svc, db
}
// InboxService DB-backed tests
func TestInboxService_ListByAccount_DB_Cov54(t *testing.T) {
svc, _ := newInboxSvcCov54(t)
_, _, err := svc.ListByAccount(context.Background(), 1, 0, 10)
_ = err
}
func TestInboxService_GetByID_DB_Cov54(t *testing.T) {
svc, _ := newInboxSvcCov54(t)
_, err := svc.GetByID(context.Background(), 1)
_ = err
}
func TestInboxService_GetByAccountAndID_DB_Cov54(t *testing.T) {
svc, _ := newInboxSvcCov54(t)
_, err := svc.GetByAccountAndID(context.Background(), 1, 1)
_ = err
}
func TestInboxService_Ready_DB_Cov54(t *testing.T) {
svc, _ := newInboxSvcCov54(t)
_ = svc.Ready()
}
func TestInboxService_SetAgentBotRequest_UnmarshalJSON_Cov54(t *testing.T) {
r := &SetAgentBotRequest{}
err := r.UnmarshalJSON([]byte(`{"agent_bot_id": 1}`))
_ = err
}
func TestInboxService_SetAgentBotRequest_UnmarshalJSON_Invalid_Cov54(t *testing.T) {
r := &SetAgentBotRequest{}
err := r.UnmarshalJSON([]byte(`invalid`))
_ = err
}
func TestInboxService_FindInstagramInboxByFBPageID_DB_Cov54(t *testing.T) {
svc, db := newInboxSvcCov54(t)
igRepo := repository.NewChannelInstagramRepo(db)
_, err := svc.FindInstagramInboxByFBPageID(context.Background(), "test_page_id", igRepo)
_ = err
}
func TestInboxService_UpdateInstagramInbox_DB_Cov54(t *testing.T) {
svc, _ := newInboxSvcCov54(t)
defer func() { _ = recover() }()
_, _ = svc.UpdateInstagramInbox(context.Background(), 1, 1, UpdateInstagramInboxRequest{})
}
// ConversationService DB-backed tests
func TestConvService_GetInboxAssistant_DB_Cov54(t *testing.T) {
svc, _ := newConvSvcCov54(t)
_, err := svc.GetInboxAssistant(context.Background(), 1, 1)
_ = err
}
func TestConvService_AssignAgentBot_DB_Cov54(t *testing.T) {
svc, _ := newConvSvcCov54(t)
defer func() { _ = recover() }()
_, _, _ = svc.AssignAgentBot(context.Background(), 1, 1, 1)
}
func TestConvService_ListWithFinder_DB_Cov54(t *testing.T) {
svc, _ := newConvSvcCov54(t)
defer func() { _ = recover() }()
_, _ = svc.ListWithFinder(context.Background(), 1, 1, FilterParams{}, 0, 10)
}
// ArticleService DB-backed tests
func newArticleSvcCov54(t *testing.T) *ArticleService {
db := newSimpleServiceTestDB(t)
repo := repository.NewArticleRepo(db)
return NewArticleService(repo)
}
func TestArticleService_UpdateExisting_DB_Cov54(t *testing.T) {
svc := newArticleSvcCov54(t)
defer func() { _ = recover() }()
_, _ = svc.UpdateExisting(context.Background(), &model.Article{}, &UpdateArticleRequest{})
}
func TestArticleService_SemanticSearch_DB_Cov54(t *testing.T) {
svc := newArticleSvcCov54(t)
_, err := svc.SemanticSearch(context.Background(), 1, "test", 10)
_ = err
}
// ProfileService DB-backed tests
func newProfileSvcCov54(t *testing.T) *ProfileService {
db := newSimpleServiceTestDB(t)
repo := repository.NewUserRepo(db)
auRepo := repository.NewAccountUserRepo(db)
return NewProfileService(repo, auRepo)
}
func TestProfileService_GetProfile_DB_Cov54(t *testing.T) {
svc := newProfileSvcCov54(t)
defer func() { _ = recover() }()
_ = svc
}
// AnalyticsService DB-backed tests
func newAnalyticsSvcCov54(t *testing.T) *AnalyticsService {
db := newSimpleServiceTestDB(t)
return &AnalyticsService{db: db}
}
func TestAnalyticsService_ReportSenderName_DB_Cov54(t *testing.T) {
svc := newAnalyticsSvcCov54(t)
defer func() { _ = recover() }()
_ = svc.reportSenderName(context.Background(), &model.Message{SenderType: "agent"})
}
func TestAnalyticsService_ReportSenderName_Contact_Cov54(t *testing.T) {
svc := newAnalyticsSvcCov54(t)
defer func() { _ = recover() }()
_ = svc.reportSenderName(context.Background(), &model.Message{SenderType: "contact"})
}
func TestAnalyticsService_ReportSenderName_Bot_Cov54(t *testing.T) {
svc := newAnalyticsSvcCov54(t)
defer func() { _ = recover() }()
_ = svc.reportSenderName(context.Background(), &model.Message{SenderType: "bot"})
}
// CaptainAssistantService DB-backed tests
func newCaptainAssistantSvcCov54(t *testing.T) *CaptainAssistantService {
db := newSimpleServiceTestDB(t)
repo := repository.NewCaptainAssistantRepo(db)
return &CaptainAssistantService{assistantRepo: repo}
}
func TestCaptainAssistantService_GeneratePlaygroundLLMResponse_Nil_Cov54(t *testing.T) {
svc := newCaptainAssistantSvcCov54(t)
defer func() { _ = recover() }()
_, _ = svc.generatePlaygroundLLMResponse(context.Background(), &model.CaptainAssistant{}, []PlaygroundMessage{{Role: "user", Content: "test"}})
}
func TestCaptainAssistantService_CaptainKnowledgeStats_DB_Cov54(t *testing.T) {
svc := newCaptainAssistantSvcCov54(t)
defer func() { _ = recover() }()
_, _ = svc.captainKnowledgeStats(context.Background(), 1)
}
func uintPtrCov54(v uint) *uint { return &v }
// Test JSON marshaling for SetAgentBotRequest
func TestSetAgentBotRequest_Marshal_Cov54(t *testing.T) {
r := SetAgentBotRequest{AgentBotID: uintPtrCov54(1)}
data, err := json.Marshal(r)
_ = err
_ = data
}
func TestSetAgentBotRequest_Marshal_Nil_Cov54(t *testing.T) {
r := SetAgentBotRequest{}
data, err := json.Marshal(r)
_ = err
_ = data
}