92 lines
2.7 KiB
Go
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{}, "")
|
|
}
|