// Code generated by MockGen. DO NOT EDIT.
// Source: operator_release.go
//
// Generated by this command:
//
//	mockgen -source=operator_release.go -destination=../../mocks/model_operator_release.go -package=mocks
//

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

import (
	context "context"
	sql "database/sql"
	reflect "reflect"

	ormhelper "github.com/kweaver-ai/adp/execution-factory/operator-integration/server/infra/common/ormhelper"
	model "github.com/kweaver-ai/adp/execution-factory/operator-integration/server/interfaces/model"
	gomock "go.uber.org/mock/gomock"
)

// MockIOperatorReleaseDB is a mock of IOperatorReleaseDB interface.
type MockIOperatorReleaseDB struct {
	ctrl     *gomock.Controller
	recorder *MockIOperatorReleaseDBMockRecorder
	isgomock struct{}
}

// MockIOperatorReleaseDBMockRecorder is the mock recorder for MockIOperatorReleaseDB.
type MockIOperatorReleaseDBMockRecorder struct {
	mock *MockIOperatorReleaseDB
}

// NewMockIOperatorReleaseDB creates a new mock instance.
func NewMockIOperatorReleaseDB(ctrl *gomock.Controller) *MockIOperatorReleaseDB {
	mock := &MockIOperatorReleaseDB{ctrl: ctrl}
	mock.recorder = &MockIOperatorReleaseDBMockRecorder{mock}
	return mock
}

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

// BatchInsert mocks base method.
func (m *MockIOperatorReleaseDB) BatchInsert(ctx context.Context, tx *sql.Tx, operator []*model.OperatorReleaseDB) ([]string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "BatchInsert", ctx, tx, operator)
	ret0, _ := ret[0].([]string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// BatchInsert indicates an expected call of BatchInsert.
func (mr *MockIOperatorReleaseDBMockRecorder) BatchInsert(ctx, tx, operator any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BatchInsert", reflect.TypeOf((*MockIOperatorReleaseDB)(nil).BatchInsert), ctx, tx, operator)
}

// CountByWhereClause mocks base method.
func (m *MockIOperatorReleaseDB) CountByWhereClause(ctx context.Context, conditions map[string]any) (int64, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CountByWhereClause", ctx, conditions)
	ret0, _ := ret[0].(int64)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CountByWhereClause indicates an expected call of CountByWhereClause.
func (mr *MockIOperatorReleaseDBMockRecorder) CountByWhereClause(ctx, conditions any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CountByWhereClause", reflect.TypeOf((*MockIOperatorReleaseDB)(nil).CountByWhereClause), ctx, conditions)
}

// DeleteByOpID mocks base method.
func (m *MockIOperatorReleaseDB) DeleteByOpID(ctx context.Context, tx *sql.Tx, opID string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteByOpID", ctx, tx, opID)
	ret0, _ := ret[0].(error)
	return ret0
}

// DeleteByOpID indicates an expected call of DeleteByOpID.
func (mr *MockIOperatorReleaseDBMockRecorder) DeleteByOpID(ctx, tx, opID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteByOpID", reflect.TypeOf((*MockIOperatorReleaseDB)(nil).DeleteByOpID), ctx, tx, opID)
}

// Insert mocks base method.
func (m *MockIOperatorReleaseDB) Insert(ctx context.Context, tx *sql.Tx, operator *model.OperatorReleaseDB) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Insert", ctx, tx, operator)
	ret0, _ := ret[0].(error)
	return ret0
}

// Insert indicates an expected call of Insert.
func (mr *MockIOperatorReleaseDBMockRecorder) Insert(ctx, tx, operator any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockIOperatorReleaseDB)(nil).Insert), ctx, tx, operator)
}

// SelectByName mocks base method.
func (m *MockIOperatorReleaseDB) SelectByName(ctx context.Context, tx *sql.Tx, name string) (bool, *model.OperatorReleaseDB, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SelectByName", ctx, tx, name)
	ret0, _ := ret[0].(bool)
	ret1, _ := ret[1].(*model.OperatorReleaseDB)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// SelectByName indicates an expected call of SelectByName.
func (mr *MockIOperatorReleaseDBMockRecorder) SelectByName(ctx, tx, name any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SelectByName", reflect.TypeOf((*MockIOperatorReleaseDB)(nil).SelectByName), ctx, tx, name)
}

// SelectByOpID mocks base method.
func (m *MockIOperatorReleaseDB) SelectByOpID(ctx context.Context, opID string) (bool, *model.OperatorReleaseDB, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SelectByOpID", ctx, opID)
	ret0, _ := ret[0].(bool)
	ret1, _ := ret[1].(*model.OperatorReleaseDB)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// SelectByOpID indicates an expected call of SelectByOpID.
func (mr *MockIOperatorReleaseDBMockRecorder) SelectByOpID(ctx, opID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SelectByOpID", reflect.TypeOf((*MockIOperatorReleaseDB)(nil).SelectByOpID), ctx, opID)
}

// SelectByWhereClause mocks base method.
func (m *MockIOperatorReleaseDB) SelectByWhereClause(ctx context.Context, conditions map[string]any, sort *ormhelper.SortParams, cursor *ormhelper.CursorParams) ([]*model.OperatorReleaseDB, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SelectByWhereClause", ctx, conditions, sort, cursor)
	ret0, _ := ret[0].([]*model.OperatorReleaseDB)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// SelectByWhereClause indicates an expected call of SelectByWhereClause.
func (mr *MockIOperatorReleaseDBMockRecorder) SelectByWhereClause(ctx, conditions, sort, cursor any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SelectByWhereClause", reflect.TypeOf((*MockIOperatorReleaseDB)(nil).SelectByWhereClause), ctx, conditions, sort, cursor)
}

// UpdateByOpID mocks base method.
func (m *MockIOperatorReleaseDB) UpdateByOpID(ctx context.Context, tx *sql.Tx, operator *model.OperatorReleaseDB) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpdateByOpID", ctx, tx, operator)
	ret0, _ := ret[0].(error)
	return ret0
}

// UpdateByOpID indicates an expected call of UpdateByOpID.
func (mr *MockIOperatorReleaseDBMockRecorder) UpdateByOpID(ctx, tx, operator any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateByOpID", reflect.TypeOf((*MockIOperatorReleaseDB)(nil).UpdateByOpID), ctx, tx, operator)
}
