package larkcli

import (
	"go.uber.org/mock/gomock"

	"github.com/tidbcloud/aisupport/packages/sdk-go/infra/lark/client/chat"
	"github.com/tidbcloud/aisupport/packages/sdk-go/infra/lark/client/contact"
	"github.com/tidbcloud/aisupport/packages/sdk-go/infra/lark/client/document"
	"github.com/tidbcloud/aisupport/packages/sdk-go/infra/lark/client/drive"
	"github.com/tidbcloud/aisupport/packages/sdk-go/infra/lark/client/im"
	"github.com/tidbcloud/aisupport/packages/sdk-go/infra/lark/client/meeting"
	"github.com/tidbcloud/aisupport/packages/sdk-go/infra/lark/client/task"
)

func NewMock(ctrl *gomock.Controller) *LarkClient {
	return &LarkClient{
		Raw:      nil,
		Contact:  contact.NewMockContact(ctrl),
		Task:     task.NewMockTask(ctrl),
		Chat:     chat.NewMockChat(ctrl),
		Document: document.NewMockDocument(ctrl),
		Drive:    drive.NewMockDrive(ctrl),
		IM:       im.NewMockIM(ctrl),
		Meeting:  meeting.NewMockMeeting(ctrl),
	}
}
