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

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

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

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

// MockDBCategory is a mock of DBCategory interface.
type MockDBCategory struct {
	ctrl     *gomock.Controller
	recorder *MockDBCategoryMockRecorder
	isgomock struct{}
}

// MockDBCategoryMockRecorder is the mock recorder for MockDBCategory.
type MockDBCategoryMockRecorder struct {
	mock *MockDBCategory
}

// NewMockDBCategory creates a new mock instance.
func NewMockDBCategory(ctrl *gomock.Controller) *MockDBCategory {
	mock := &MockDBCategory{ctrl: ctrl}
	mock.recorder = &MockDBCategoryMockRecorder{mock}
	return mock
}

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

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

// DeleteByCategoryID indicates an expected call of DeleteByCategoryID.
func (mr *MockDBCategoryMockRecorder) DeleteByCategoryID(ctx, tx, categoryID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteByCategoryID", reflect.TypeOf((*MockDBCategory)(nil).DeleteByCategoryID), ctx, tx, categoryID)
}

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

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

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

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

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

// SelectListByCategoryID indicates an expected call of SelectListByCategoryID.
func (mr *MockDBCategoryMockRecorder) SelectListByCategoryID(ctx, tx, categoryID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SelectListByCategoryID", reflect.TypeOf((*MockDBCategory)(nil).SelectListByCategoryID), ctx, tx, categoryID)
}

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

// SelectListByCategoryIDOrName indicates an expected call of SelectListByCategoryIDOrName.
func (mr *MockDBCategoryMockRecorder) SelectListByCategoryIDOrName(ctx, tx, categoryID, categoryName any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SelectListByCategoryIDOrName", reflect.TypeOf((*MockDBCategory)(nil).SelectListByCategoryIDOrName), ctx, tx, categoryID, categoryName)
}

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

// UpdateByID indicates an expected call of UpdateByID.
func (mr *MockDBCategoryMockRecorder) UpdateByID(ctx, tx, category any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateByID", reflect.TypeOf((*MockDBCategory)(nil).UpdateByID), ctx, tx, category)
}
