// Code generated by MockGen. DO NOT EDIT.
// Source: internal/dal/repository/sys_user_menu.go
//
// Generated by this command:
//
//	mockgen -source=internal/dal/repository/sys_user_menu.go -destination internal/dal/repository/sys_user_menu.mockgen.go -package=repository
//

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

import (
	context "context"
	reflect "reflect"
	time "time"

	model "github.com/ch3nnn/webstack-go/internal/dal/model"
	gomock "go.uber.org/mock/gomock"
	gen "gorm.io/gen"
	field "gorm.io/gen/field"
)

// MockISysUserMenuDao is a mock of ISysUserMenuDao interface.
type MockISysUserMenuDao struct {
	ctrl     *gomock.Controller
	recorder *MockISysUserMenuDaoMockRecorder
	isgomock struct{}
}

// MockISysUserMenuDaoMockRecorder is the mock recorder for MockISysUserMenuDao.
type MockISysUserMenuDaoMockRecorder struct {
	mock *MockISysUserMenuDao
}

// NewMockISysUserMenuDao creates a new mock instance.
func NewMockISysUserMenuDao(ctrl *gomock.Controller) *MockISysUserMenuDao {
	mock := &MockISysUserMenuDao{ctrl: ctrl}
	mock.recorder = &MockISysUserMenuDaoMockRecorder{mock}
	return mock
}

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

// WhereByCreatedAt mocks base method.
func (m *MockISysUserMenuDao) WhereByCreatedAt(createdAt time.Time) func(gen.Dao) gen.Dao {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "WhereByCreatedAt", createdAt)
	ret0, _ := ret[0].(func(gen.Dao) gen.Dao)
	return ret0
}

// WhereByCreatedAt indicates an expected call of WhereByCreatedAt.
func (mr *MockISysUserMenuDaoMockRecorder) WhereByCreatedAt(createdAt any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WhereByCreatedAt", reflect.TypeOf((*MockISysUserMenuDao)(nil).WhereByCreatedAt), createdAt)
}

// WhereByDeletedAt mocks base method.
func (m *MockISysUserMenuDao) WhereByDeletedAt(deletedAt time.Time) func(gen.Dao) gen.Dao {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "WhereByDeletedAt", deletedAt)
	ret0, _ := ret[0].(func(gen.Dao) gen.Dao)
	return ret0
}

// WhereByDeletedAt indicates an expected call of WhereByDeletedAt.
func (mr *MockISysUserMenuDaoMockRecorder) WhereByDeletedAt(deletedAt any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WhereByDeletedAt", reflect.TypeOf((*MockISysUserMenuDao)(nil).WhereByDeletedAt), deletedAt)
}

// WhereByID mocks base method.
func (m *MockISysUserMenuDao) WhereByID(id int) func(gen.Dao) gen.Dao {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "WhereByID", id)
	ret0, _ := ret[0].(func(gen.Dao) gen.Dao)
	return ret0
}

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

// WhereByMenuID mocks base method.
func (m *MockISysUserMenuDao) WhereByMenuID(menuId int) func(gen.Dao) gen.Dao {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "WhereByMenuID", menuId)
	ret0, _ := ret[0].(func(gen.Dao) gen.Dao)
	return ret0
}

// WhereByMenuID indicates an expected call of WhereByMenuID.
func (mr *MockISysUserMenuDaoMockRecorder) WhereByMenuID(menuId any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WhereByMenuID", reflect.TypeOf((*MockISysUserMenuDao)(nil).WhereByMenuID), menuId)
}

// WhereByUpdatedAt mocks base method.
func (m *MockISysUserMenuDao) WhereByUpdatedAt(updatedAt time.Time) func(gen.Dao) gen.Dao {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "WhereByUpdatedAt", updatedAt)
	ret0, _ := ret[0].(func(gen.Dao) gen.Dao)
	return ret0
}

// WhereByUpdatedAt indicates an expected call of WhereByUpdatedAt.
func (mr *MockISysUserMenuDaoMockRecorder) WhereByUpdatedAt(updatedAt any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WhereByUpdatedAt", reflect.TypeOf((*MockISysUserMenuDao)(nil).WhereByUpdatedAt), updatedAt)
}

// WhereByUserID mocks base method.
func (m *MockISysUserMenuDao) WhereByUserID(userId int) func(gen.Dao) gen.Dao {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "WhereByUserID", userId)
	ret0, _ := ret[0].(func(gen.Dao) gen.Dao)
	return ret0
}

// WhereByUserID indicates an expected call of WhereByUserID.
func (mr *MockISysUserMenuDaoMockRecorder) WhereByUserID(userId any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WhereByUserID", reflect.TypeOf((*MockISysUserMenuDao)(nil).WhereByUserID), userId)
}

// WithContext mocks base method.
func (m *MockISysUserMenuDao) WithContext(ctx context.Context) iCustomGenSysUserMenuFunc {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "WithContext", ctx)
	ret0, _ := ret[0].(iCustomGenSysUserMenuFunc)
	return ret0
}

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

// MockiCustomGenSysUserMenuFunc is a mock of iCustomGenSysUserMenuFunc interface.
type MockiCustomGenSysUserMenuFunc struct {
	ctrl     *gomock.Controller
	recorder *MockiCustomGenSysUserMenuFuncMockRecorder
	isgomock struct{}
}

// MockiCustomGenSysUserMenuFuncMockRecorder is the mock recorder for MockiCustomGenSysUserMenuFunc.
type MockiCustomGenSysUserMenuFuncMockRecorder struct {
	mock *MockiCustomGenSysUserMenuFunc
}

// NewMockiCustomGenSysUserMenuFunc creates a new mock instance.
func NewMockiCustomGenSysUserMenuFunc(ctrl *gomock.Controller) *MockiCustomGenSysUserMenuFunc {
	mock := &MockiCustomGenSysUserMenuFunc{ctrl: ctrl}
	mock.recorder = &MockiCustomGenSysUserMenuFuncMockRecorder{mock}
	return mock
}

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

// Create mocks base method.
func (m_2 *MockiCustomGenSysUserMenuFunc) Create(m *model.SysUserMenu) (*model.SysUserMenu, error) {
	m_2.ctrl.T.Helper()
	ret := m_2.ctrl.Call(m_2, "Create", m)
	ret0, _ := ret[0].(*model.SysUserMenu)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// Delete mocks base method.
func (m *MockiCustomGenSysUserMenuFunc) Delete(whereFunc ...func(gen.Dao) gen.Dao) error {
	m.ctrl.T.Helper()
	varargs := []any{}
	for _, a := range whereFunc {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "Delete", varargs...)
	ret0, _ := ret[0].(error)
	return ret0
}

// Delete indicates an expected call of Delete.
func (mr *MockiCustomGenSysUserMenuFuncMockRecorder) Delete(whereFunc ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockiCustomGenSysUserMenuFunc)(nil).Delete), whereFunc...)
}

// DeletePhysical mocks base method.
func (m *MockiCustomGenSysUserMenuFunc) DeletePhysical(whereFunc ...func(gen.Dao) gen.Dao) error {
	m.ctrl.T.Helper()
	varargs := []any{}
	for _, a := range whereFunc {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "DeletePhysical", varargs...)
	ret0, _ := ret[0].(error)
	return ret0
}

// DeletePhysical indicates an expected call of DeletePhysical.
func (mr *MockiCustomGenSysUserMenuFuncMockRecorder) DeletePhysical(whereFunc ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeletePhysical", reflect.TypeOf((*MockiCustomGenSysUserMenuFunc)(nil).DeletePhysical), whereFunc...)
}

// FindAll mocks base method.
func (m *MockiCustomGenSysUserMenuFunc) FindAll(whereFunc ...func(gen.Dao) gen.Dao) ([]*model.SysUserMenu, error) {
	m.ctrl.T.Helper()
	varargs := []any{}
	for _, a := range whereFunc {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "FindAll", varargs...)
	ret0, _ := ret[0].([]*model.SysUserMenu)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// FindAll indicates an expected call of FindAll.
func (mr *MockiCustomGenSysUserMenuFuncMockRecorder) FindAll(whereFunc ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FindAll", reflect.TypeOf((*MockiCustomGenSysUserMenuFunc)(nil).FindAll), whereFunc...)
}

// FindCount mocks base method.
func (m *MockiCustomGenSysUserMenuFunc) FindCount(whereFunc ...func(gen.Dao) gen.Dao) (int64, error) {
	m.ctrl.T.Helper()
	varargs := []any{}
	for _, a := range whereFunc {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "FindCount", varargs...)
	ret0, _ := ret[0].(int64)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// FindCount indicates an expected call of FindCount.
func (mr *MockiCustomGenSysUserMenuFuncMockRecorder) FindCount(whereFunc ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FindCount", reflect.TypeOf((*MockiCustomGenSysUserMenuFunc)(nil).FindCount), whereFunc...)
}

// FindOne mocks base method.
func (m *MockiCustomGenSysUserMenuFunc) FindOne(whereFunc ...func(gen.Dao) gen.Dao) (*model.SysUserMenu, error) {
	m.ctrl.T.Helper()
	varargs := []any{}
	for _, a := range whereFunc {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "FindOne", varargs...)
	ret0, _ := ret[0].(*model.SysUserMenu)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// FindOne indicates an expected call of FindOne.
func (mr *MockiCustomGenSysUserMenuFuncMockRecorder) FindOne(whereFunc ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FindOne", reflect.TypeOf((*MockiCustomGenSysUserMenuFunc)(nil).FindOne), whereFunc...)
}

// FindPage mocks base method.
func (m *MockiCustomGenSysUserMenuFunc) FindPage(page, pageSize int, orderColumns []field.Expr, whereFunc ...func(gen.Dao) gen.Dao) ([]*model.SysUserMenu, int64, error) {
	m.ctrl.T.Helper()
	varargs := []any{page, pageSize, orderColumns}
	for _, a := range whereFunc {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "FindPage", varargs...)
	ret0, _ := ret[0].([]*model.SysUserMenu)
	ret1, _ := ret[1].(int64)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// FindPage indicates an expected call of FindPage.
func (mr *MockiCustomGenSysUserMenuFuncMockRecorder) FindPage(page, pageSize, orderColumns any, whereFunc ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{page, pageSize, orderColumns}, whereFunc...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FindPage", reflect.TypeOf((*MockiCustomGenSysUserMenuFunc)(nil).FindPage), varargs...)
}

// Scan mocks base method.
func (m *MockiCustomGenSysUserMenuFunc) Scan(result any, whereFunc ...func(gen.Dao) gen.Dao) error {
	m.ctrl.T.Helper()
	varargs := []any{result}
	for _, a := range whereFunc {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "Scan", varargs...)
	ret0, _ := ret[0].(error)
	return ret0
}

// Scan indicates an expected call of Scan.
func (mr *MockiCustomGenSysUserMenuFuncMockRecorder) Scan(result any, whereFunc ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{result}, whereFunc...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Scan", reflect.TypeOf((*MockiCustomGenSysUserMenuFunc)(nil).Scan), varargs...)
}

// ScanPage mocks base method.
func (m *MockiCustomGenSysUserMenuFunc) ScanPage(page, pageSize int, orderColumns []field.Expr, result any, whereFunc ...func(gen.Dao) gen.Dao) (int64, error) {
	m.ctrl.T.Helper()
	varargs := []any{page, pageSize, orderColumns, result}
	for _, a := range whereFunc {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "ScanPage", varargs...)
	ret0, _ := ret[0].(int64)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ScanPage indicates an expected call of ScanPage.
func (mr *MockiCustomGenSysUserMenuFuncMockRecorder) ScanPage(page, pageSize, orderColumns, result any, whereFunc ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{page, pageSize, orderColumns, result}, whereFunc...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ScanPage", reflect.TypeOf((*MockiCustomGenSysUserMenuFunc)(nil).ScanPage), varargs...)
}

// Update mocks base method.
func (m *MockiCustomGenSysUserMenuFunc) Update(v any, whereFunc ...func(gen.Dao) gen.Dao) (int64, error) {
	m.ctrl.T.Helper()
	varargs := []any{v}
	for _, a := range whereFunc {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "Update", varargs...)
	ret0, _ := ret[0].(int64)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Update indicates an expected call of Update.
func (mr *MockiCustomGenSysUserMenuFuncMockRecorder) Update(v any, whereFunc ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{v}, whereFunc...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Update", reflect.TypeOf((*MockiCustomGenSysUserMenuFunc)(nil).Update), varargs...)
}
