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

// MockISkillRepository is a mock of ISkillRepository interface.
type MockISkillRepository struct {
	ctrl     *gomock.Controller
	recorder *MockISkillRepositoryMockRecorder
	isgomock struct{}
}

// MockISkillRepositoryMockRecorder is the mock recorder for MockISkillRepository.
type MockISkillRepositoryMockRecorder struct {
	mock *MockISkillRepository
}

// NewMockISkillRepository creates a new mock instance.
func NewMockISkillRepository(ctrl *gomock.Controller) *MockISkillRepository {
	mock := &MockISkillRepository{ctrl: ctrl}
	mock.recorder = &MockISkillRepositoryMockRecorder{mock}
	return mock
}

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

// CountByWhereClause mocks base method.
func (m *MockISkillRepository) 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 *MockISkillRepositoryMockRecorder) CountByWhereClause(ctx, tx, filter any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CountByWhereClause", reflect.TypeOf((*MockISkillRepository)(nil).CountByWhereClause), ctx, tx, filter)
}

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

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

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

// InsertSkill indicates an expected call of InsertSkill.
func (mr *MockISkillRepositoryMockRecorder) InsertSkill(ctx, tx, skill any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "InsertSkill", reflect.TypeOf((*MockISkillRepository)(nil).InsertSkill), ctx, tx, skill)
}

// SelectSkillBuildPage mocks base method.
func (m *MockISkillRepository) SelectSkillBuildPage(ctx context.Context, tx *sql.Tx, cursorUpdateTime int64, cursorSkillID string, limit int) ([]*model.SkillRepositoryDB, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SelectSkillBuildPage", ctx, tx, cursorUpdateTime, cursorSkillID, limit)
	ret0, _ := ret[0].([]*model.SkillRepositoryDB)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// SelectSkillBuildPage indicates an expected call of SelectSkillBuildPage.
func (mr *MockISkillRepositoryMockRecorder) SelectSkillBuildPage(ctx, tx, cursorUpdateTime, cursorSkillID, limit any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SelectSkillBuildPage", reflect.TypeOf((*MockISkillRepository)(nil).SelectSkillBuildPage), ctx, tx, cursorUpdateTime, cursorSkillID, limit)
}

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

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

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

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

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

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

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

// UpdateSkill indicates an expected call of UpdateSkill.
func (mr *MockISkillRepositoryMockRecorder) UpdateSkill(ctx, tx, skill any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateSkill", reflect.TypeOf((*MockISkillRepository)(nil).UpdateSkill), ctx, tx, skill)
}

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

// UpdateSkillDeleted indicates an expected call of UpdateSkillDeleted.
func (mr *MockISkillRepositoryMockRecorder) UpdateSkillDeleted(ctx, tx, skillID, isDeleted, updateUser any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateSkillDeleted", reflect.TypeOf((*MockISkillRepository)(nil).UpdateSkillDeleted), ctx, tx, skillID, isDeleted, updateUser)
}

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

// UpdateSkillStatus indicates an expected call of UpdateSkillStatus.
func (mr *MockISkillRepositoryMockRecorder) UpdateSkillStatus(ctx, tx, skillID, status, updateUser any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateSkillStatus", reflect.TypeOf((*MockISkillRepository)(nil).UpdateSkillStatus), ctx, tx, skillID, status, updateUser)
}
