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

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

import (
	context "context"
	reflect "reflect"

	controlplane "github.com/tidbcloud/devops/entity/controlplane"
	gomock "go.uber.org/mock/gomock"
)

// MockRepo is a mock of Repo interface.
type MockRepo struct {
	ctrl     *gomock.Controller
	recorder *MockRepoMockRecorder
	isgomock struct{}
}

// MockRepoMockRecorder is the mock recorder for MockRepo.
type MockRepoMockRecorder struct {
	mock *MockRepo
}

// NewMockRepo creates a new mock instance.
func NewMockRepo(ctrl *gomock.Controller) *MockRepo {
	mock := &MockRepo{ctrl: ctrl}
	mock.recorder = &MockRepoMockRecorder{mock}
	return mock
}

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

// Create mocks base method.
func (m *MockRepo) Create(ctx context.Context, dep *controlplane.Deployment) (*controlplane.Deployment, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Create", ctx, dep)
	ret0, _ := ret[0].(*controlplane.Deployment)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Create indicates an expected call of Create.
func (mr *MockRepoMockRecorder) Create(ctx, dep any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockRepo)(nil).Create), ctx, dep)
}

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

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

// GetAndPatch mocks base method.
func (m *MockRepo) GetAndPatch(ctx context.Context, id uint64, patch ...PatchDeployment) error {
	m.ctrl.T.Helper()
	varargs := []any{ctx, id}
	for _, a := range patch {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "GetAndPatch", varargs...)
	ret0, _ := ret[0].(error)
	return ret0
}

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

// GetByApprovalID mocks base method.
func (m *MockRepo) GetByApprovalID(ctx context.Context, approvalID uint64) (*controlplane.Deployment, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetByApprovalID", ctx, approvalID)
	ret0, _ := ret[0].(*controlplane.Deployment)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetByApprovalID indicates an expected call of GetByApprovalID.
func (mr *MockRepoMockRecorder) GetByApprovalID(ctx, approvalID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetByApprovalID", reflect.TypeOf((*MockRepo)(nil).GetByApprovalID), ctx, approvalID)
}

// List mocks base method.
func (m *MockRepo) List(ctx context.Context, scenario *controlplane.Scenario, phase *controlplane.Phase) ([]*controlplane.Deployment, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "List", ctx, scenario, phase)
	ret0, _ := ret[0].([]*controlplane.Deployment)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// List indicates an expected call of List.
func (mr *MockRepoMockRecorder) List(ctx, scenario, phase any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockRepo)(nil).List), ctx, scenario, phase)
}
