// Code generated by MockGen. DO NOT EDIT.
// Source: skill_release.go
//
// Generated by this command:
//
//	mockgen -source=skill_release.go -destination=../../mocks/model_skill_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"
)

// MockISkillReleaseDB is a mock of ISkillReleaseDB interface.
type MockISkillReleaseDB struct {
	ctrl     *gomock.Controller
	recorder *MockISkillReleaseDBMockRecorder
	isgomock struct{}
}

// MockISkillReleaseDBMockRecorder is the mock recorder for MockISkillReleaseDB.
type MockISkillReleaseDBMockRecorder struct {
	mock *MockISkillReleaseDB
}

// NewMockISkillReleaseDB creates a new mock instance.
func NewMockISkillReleaseDB(ctrl *gomock.Controller) *MockISkillReleaseDB {
	mock := &MockISkillReleaseDB{ctrl: ctrl}
	mock.recorder = &MockISkillReleaseDBMockRecorder{mock}
	return mock
}

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

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

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

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

// DeleteBySkillID indicates an expected call of DeleteBySkillID.
func (mr *MockISkillReleaseDBMockRecorder) DeleteBySkillID(ctx, tx, skillID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteBySkillID", reflect.TypeOf((*MockISkillReleaseDB)(nil).DeleteBySkillID), ctx, tx, skillID)
}

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

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

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

// SelectBySkillID indicates an expected call of SelectBySkillID.
func (mr *MockISkillReleaseDBMockRecorder) SelectBySkillID(ctx, tx, skillID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SelectBySkillID", reflect.TypeOf((*MockISkillReleaseDB)(nil).SelectBySkillID), ctx, tx, skillID)
}

// SelectListPage mocks base method.
func (m *MockISkillReleaseDB) SelectListPage(ctx context.Context, tx *sql.Tx, filter map[string]any, sort *ormhelper.SortParams, cursor *ormhelper.CursorParams) ([]*model.SkillReleaseDB, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SelectListPage", ctx, tx, filter, sort, cursor)
	ret0, _ := ret[0].([]*model.SkillReleaseDB)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// SelectListPage indicates an expected call of SelectListPage.
func (mr *MockISkillReleaseDBMockRecorder) SelectListPage(ctx, tx, filter, sort, cursor any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SelectListPage", reflect.TypeOf((*MockISkillReleaseDB)(nil).SelectListPage), ctx, tx, filter, sort, cursor)
}

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

// UpdateBySkillID indicates an expected call of UpdateBySkillID.
func (mr *MockISkillReleaseDBMockRecorder) UpdateBySkillID(ctx, tx, release any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateBySkillID", reflect.TypeOf((*MockISkillReleaseDB)(nil).UpdateBySkillID), ctx, tx, release)
}
