// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/tidbcloud/devops/pkg/service/remediationticket/repo (interfaces: RemediationTicketRepo)
//
// Generated by this command:
//
//	mockgen -destination repo_mock.go -package=repo github.com/tidbcloud/devops/pkg/service/remediationticket/repo RemediationTicketRepo
//

// Package repo is a generated GoMock package.
package repo

import (
	context "context"
	reflect "reflect"

	entity "github.com/tidbcloud/devops/entity"
	repoopt "github.com/tidbcloud/devops/pkg/infra/utils/repoopt"
	gomock "go.uber.org/mock/gomock"
)

// MockRemediationTicketRepo is a mock of RemediationTicketRepo interface.
type MockRemediationTicketRepo struct {
	ctrl     *gomock.Controller
	recorder *MockRemediationTicketRepoMockRecorder
	isgomock struct{}
}

// MockRemediationTicketRepoMockRecorder is the mock recorder for MockRemediationTicketRepo.
type MockRemediationTicketRepoMockRecorder struct {
	mock *MockRemediationTicketRepo
}

// NewMockRemediationTicketRepo creates a new mock instance.
func NewMockRemediationTicketRepo(ctrl *gomock.Controller) *MockRemediationTicketRepo {
	mock := &MockRemediationTicketRepo{ctrl: ctrl}
	mock.recorder = &MockRemediationTicketRepoMockRecorder{mock}
	return mock
}

// EXPECT returns an object that allows the caller to indicate expected use.
func (m *MockRemediationTicketRepo) EXPECT() *MockRemediationTicketRepoMockRecorder {
	return m.recorder
}

// CreateTicketLog mocks base method.
func (m *MockRemediationTicketRepo) CreateTicketLog(ctx context.Context, ticketLogItem *entity.RemediationTicketLog) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateTicketLog", ctx, ticketLogItem)
	ret0, _ := ret[0].(error)
	return ret0
}

// CreateTicketLog indicates an expected call of CreateTicketLog.
func (mr *MockRemediationTicketRepoMockRecorder) CreateTicketLog(ctx, ticketLogItem any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateTicketLog", reflect.TypeOf((*MockRemediationTicketRepo)(nil).CreateTicketLog), ctx, ticketLogItem)
}

// FunctionalPatchTicket mocks base method.
func (m *MockRemediationTicketRepo) FunctionalPatchTicket(ctx context.Context, current *entity.RemediationTicket, patch ...PatchRemediationTicket) error {
	m.ctrl.T.Helper()
	varargs := []any{ctx, current}
	for _, a := range patch {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "FunctionalPatchTicket", varargs...)
	ret0, _ := ret[0].(error)
	return ret0
}

// FunctionalPatchTicket indicates an expected call of FunctionalPatchTicket.
func (mr *MockRemediationTicketRepoMockRecorder) FunctionalPatchTicket(ctx, current any, patch ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx, current}, patch...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FunctionalPatchTicket", reflect.TypeOf((*MockRemediationTicketRepo)(nil).FunctionalPatchTicket), varargs...)
}

// FunctionalPatchTicketPhaseApproval mocks base method.
func (m *MockRemediationTicketRepo) FunctionalPatchTicketPhaseApproval(ctx context.Context, current *entity.RemediationTicketPhaseApproval, patch ...PatchRemediationTicketApproval) error {
	m.ctrl.T.Helper()
	varargs := []any{ctx, current}
	for _, a := range patch {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "FunctionalPatchTicketPhaseApproval", varargs...)
	ret0, _ := ret[0].(error)
	return ret0
}

// FunctionalPatchTicketPhaseApproval indicates an expected call of FunctionalPatchTicketPhaseApproval.
func (mr *MockRemediationTicketRepoMockRecorder) FunctionalPatchTicketPhaseApproval(ctx, current any, patch ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx, current}, patch...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FunctionalPatchTicketPhaseApproval", reflect.TypeOf((*MockRemediationTicketRepo)(nil).FunctionalPatchTicketPhaseApproval), varargs...)
}

// LoadTicket mocks base method.
func (m *MockRemediationTicketRepo) LoadTicket(ctx context.Context, id uint64) (*entity.RemediationTicket, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "LoadTicket", ctx, id)
	ret0, _ := ret[0].(*entity.RemediationTicket)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// LoadTicket indicates an expected call of LoadTicket.
func (mr *MockRemediationTicketRepoMockRecorder) LoadTicket(ctx, id any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LoadTicket", reflect.TypeOf((*MockRemediationTicketRepo)(nil).LoadTicket), ctx, id)
}

// PatchTicket mocks base method.
func (m *MockRemediationTicketRepo) PatchTicket(ctx context.Context, ticket *entity.RemediationTicket) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "PatchTicket", ctx, ticket)
	ret0, _ := ret[0].(error)
	return ret0
}

// PatchTicket indicates an expected call of PatchTicket.
func (mr *MockRemediationTicketRepoMockRecorder) PatchTicket(ctx, ticket any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchTicket", reflect.TypeOf((*MockRemediationTicketRepo)(nil).PatchTicket), ctx, ticket)
}

// QueryTicket mocks base method.
func (m *MockRemediationTicketRepo) QueryTicket(ctx context.Context, opts ...repoopt.Option) ([]*entity.RemediationTicket, error) {
	m.ctrl.T.Helper()
	varargs := []any{ctx}
	for _, a := range opts {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "QueryTicket", varargs...)
	ret0, _ := ret[0].([]*entity.RemediationTicket)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// QueryTicket indicates an expected call of QueryTicket.
func (mr *MockRemediationTicketRepoMockRecorder) QueryTicket(ctx any, opts ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx}, opts...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "QueryTicket", reflect.TypeOf((*MockRemediationTicketRepo)(nil).QueryTicket), varargs...)
}

// QueryTicketLog mocks base method.
func (m *MockRemediationTicketRepo) QueryTicketLog(ctx context.Context, ticketId uint64) ([]*entity.RemediationTicketLog, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "QueryTicketLog", ctx, ticketId)
	ret0, _ := ret[0].([]*entity.RemediationTicketLog)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// QueryTicketLog indicates an expected call of QueryTicketLog.
func (mr *MockRemediationTicketRepoMockRecorder) QueryTicketLog(ctx, ticketId any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "QueryTicketLog", reflect.TypeOf((*MockRemediationTicketRepo)(nil).QueryTicketLog), ctx, ticketId)
}

// QueryTicketPhaseApproval mocks base method.
func (m *MockRemediationTicketRepo) QueryTicketPhaseApproval(ctx context.Context, opts ...repoopt.Option) ([]*entity.RemediationTicketPhaseApproval, error) {
	m.ctrl.T.Helper()
	varargs := []any{ctx}
	for _, a := range opts {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "QueryTicketPhaseApproval", varargs...)
	ret0, _ := ret[0].([]*entity.RemediationTicketPhaseApproval)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// QueryTicketPhaseApproval indicates an expected call of QueryTicketPhaseApproval.
func (mr *MockRemediationTicketRepoMockRecorder) QueryTicketPhaseApproval(ctx any, opts ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx}, opts...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "QueryTicketPhaseApproval", reflect.TypeOf((*MockRemediationTicketRepo)(nil).QueryTicketPhaseApproval), varargs...)
}

// SaveTicket mocks base method.
func (m *MockRemediationTicketRepo) SaveTicket(ctx context.Context, ticket *entity.RemediationTicket) (uint64, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SaveTicket", ctx, ticket)
	ret0, _ := ret[0].(uint64)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// SaveTicket indicates an expected call of SaveTicket.
func (mr *MockRemediationTicketRepoMockRecorder) SaveTicket(ctx, ticket any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SaveTicket", reflect.TypeOf((*MockRemediationTicketRepo)(nil).SaveTicket), ctx, ticket)
}

// SaveTicketPhaseApproval mocks base method.
func (m *MockRemediationTicketRepo) SaveTicketPhaseApproval(ctx context.Context, ticketPhaseApproval *entity.RemediationTicketPhaseApproval) (uint64, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SaveTicketPhaseApproval", ctx, ticketPhaseApproval)
	ret0, _ := ret[0].(uint64)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// SaveTicketPhaseApproval indicates an expected call of SaveTicketPhaseApproval.
func (mr *MockRemediationTicketRepoMockRecorder) SaveTicketPhaseApproval(ctx, ticketPhaseApproval any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SaveTicketPhaseApproval", reflect.TypeOf((*MockRemediationTicketRepo)(nil).SaveTicketPhaseApproval), ctx, ticketPhaseApproval)
}
