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{}, "") }