package scripttask

import (
	"context"

	"github.com/stretchr/testify/mock"

	"github.com/tidbcloud/pov-service/internal/common/options"
	"github.com/tidbcloud/pov-service/internal/model"
)

// mockAuditLogRepo implements repo.AuditLog for testing
type mockAuditLogRepo struct {
	mock.Mock
}

func (m *mockAuditLogRepo) Create(ctx context.Context, audit model.AuditLog) error {
	args := m.Called(ctx, audit)
	return args.Error(0)
}

func (m *mockAuditLogRepo) List(ctx context.Context, opts options.ListOption[options.RefOption]) ([]model.AuditLog, error) {
	args := m.Called(ctx, opts)
	if v, ok := args.Get(0).([]model.AuditLog); ok {
		return v, args.Error(1)
	}
	return nil, args.Error(1)
}
