Proceed with role management

This commit is contained in:
HugeFrog24
2024-10-22 15:50:51 +02:00
parent acaf5d01ab
commit ce59b5f5f1
6 changed files with 172 additions and 73 deletions

35
telegram_client_mock.go Normal file
View File

@@ -0,0 +1,35 @@
// telegram_client_mock.go
package main
import (
"context"
"github.com/go-telegram/bot"
"github.com/go-telegram/bot/models"
)
// MockTelegramClient is a mock implementation of TelegramClient for testing.
type MockTelegramClient struct {
// You can add fields to keep track of calls if needed.
SendMessageFunc func(ctx context.Context, params *bot.SendMessageParams) (*models.Message, error)
StartFunc func(ctx context.Context) // Optional: track Start calls
}
// SendMessage mocks sending a message.
func (m *MockTelegramClient) SendMessage(ctx context.Context, params *bot.SendMessageParams) (*models.Message, error) {
if m.SendMessageFunc != nil {
return m.SendMessageFunc(ctx, params)
}
// Default behavior: return an empty message without error.
return &models.Message{}, nil
}
// Start mocks starting the Telegram client.
func (m *MockTelegramClient) Start(ctx context.Context) {
if m.StartFunc != nil {
m.StartFunc(ctx)
}
// Default behavior: do nothing.
}
// Add other mocked methods if your Bot uses more TelegramClient methods.