Files
gochat/backend/internal/channel/whatsapp/coverage14_test.go
T

92 lines
2.7 KiB
Go

package whatsapp
import (
"context"
"testing"
channelmodel "github.com/gochat/gochat/internal/model/channel"
"github.com/stretchr/testify/require"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
"gorm.io/gorm/logger"
)
func setupWhatsAppDB_Cov14(t *testing.T) *gorm.DB {
t.Helper()
db, err := gorm.Open(sqlite.Open("file::memory:"), &gorm.Config{Logger: logger.Default.LogMode(logger.Silent)})
require.NoError(t, err)
require.NoError(t, db.AutoMigrate(&channelmodel.ChannelWhatsApp{}))
return db
}
func TestRepository_Create_DB_Cov14(t *testing.T) {
db := setupWhatsAppDB_Cov14(t)
r := NewRepository(db)
err := r.Create(context.Background(), &channelmodel.ChannelWhatsApp{
AccountID: 1,
PhoneNumberID: "123",
AccessToken: "token",
})
require.NoError(t, err)
}
func TestRepository_GetByID_DB_Cov14(t *testing.T) {
db := setupWhatsAppDB_Cov14(t)
r := NewRepository(db)
_ = r.Create(context.Background(), &channelmodel.ChannelWhatsApp{AccountID: 1, PhoneNumberID: "123"})
ch, err := r.GetByID(context.Background(), 1)
_ = err
_ = ch
}
func TestRepository_Update_DB_Cov14(t *testing.T) {
db := setupWhatsAppDB_Cov14(t)
r := NewRepository(db)
_ = r.Create(context.Background(), &channelmodel.ChannelWhatsApp{AccountID: 1, PhoneNumberID: "123"})
err := r.Update(context.Background(), &channelmodel.ChannelWhatsApp{PhoneNumberID: "123", AccessToken: "new"})
_ = err
}
func TestRepository_UpdateAccessToken_DB_Cov14(t *testing.T) {
db := setupWhatsAppDB_Cov14(t)
r := NewRepository(db)
_ = r.Create(context.Background(), &channelmodel.ChannelWhatsApp{AccountID: 1, PhoneNumberID: "123"})
err := r.UpdateAccessToken(context.Background(), 1, "newtoken")
_ = err
}
func TestRepository_Delete_DB_Cov14(t *testing.T) {
db := setupWhatsAppDB_Cov14(t)
r := NewRepository(db)
_ = r.Create(context.Background(), &channelmodel.ChannelWhatsApp{AccountID: 1, PhoneNumberID: "123"})
err := r.Delete(context.Background(), 1)
_ = err
}
// Service tests with nil receiver
func TestWhatsAppService_UpdateChannel_Nil_Cov14(t *testing.T) {
s := &WhatsAppService{}
defer func() { _ = recover() }()
_, _ = s.UpdateChannel(context.Background(), 0, nil)
}
func TestWhatsAppService_DeleteChannel_Nil_Cov14(t *testing.T) {
s := &WhatsAppService{}
defer func() { _ = recover() }()
_ = s.DeleteChannel(context.Background(), 0)
}
// WebhookHandler tests
func TestWebhookHandler_ResolveInbox_Nil_Cov14(t *testing.T) {
h := &WebhookHandler{}
defer func() { _ = recover() }()
_, _ = h.resolveInbox("")
}
// MediaService tests
func TestMediaService_DownloadWhatsAppMedia_Nil_Cov14(t *testing.T) {
ms := &MediaService{}
defer func() { _ = recover() }()
_, _ = ms.DownloadWhatsAppMedia(context.Background(), "", WAMediaContent{}, "")
}