// Code generated by MockGen. DO NOT EDIT.
// Source: ../interfaces/concept_group_service.go
//
// Generated by this command:
//
//	mockgen -source ../interfaces/concept_group_service.go -destination ../interfaces/mock/mock_concept_group_service.go
//

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

import (
	interfaces "bkn-backend/interfaces"
	context "context"
	sql "database/sql"
	reflect "reflect"

	gomock "go.uber.org/mock/gomock"
)

// MockConceptGroupService is a mock of ConceptGroupService interface.
type MockConceptGroupService struct {
	ctrl     *gomock.Controller
	recorder *MockConceptGroupServiceMockRecorder
	isgomock struct{}
}

// MockConceptGroupServiceMockRecorder is the mock recorder for MockConceptGroupService.
type MockConceptGroupServiceMockRecorder struct {
	mock *MockConceptGroupService
}

// NewMockConceptGroupService creates a new mock instance.
func NewMockConceptGroupService(ctrl *gomock.Controller) *MockConceptGroupService {
	mock := &MockConceptGroupService{ctrl: ctrl}
	mock.recorder = &MockConceptGroupServiceMockRecorder{mock}
	return mock
}

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

// AddObjectTypesToConceptGroup mocks base method.
func (m *MockConceptGroupService) AddObjectTypesToConceptGroup(ctx context.Context, tx *sql.Tx, knID, branch, cgID string, otIDs []interfaces.ID, importMode string, strictMode bool) ([]string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "AddObjectTypesToConceptGroup", ctx, tx, knID, branch, cgID, otIDs, importMode, strictMode)
	ret0, _ := ret[0].([]string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// AddObjectTypesToConceptGroup indicates an expected call of AddObjectTypesToConceptGroup.
func (mr *MockConceptGroupServiceMockRecorder) AddObjectTypesToConceptGroup(ctx, tx, knID, branch, cgID, otIDs, importMode, strictMode any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddObjectTypesToConceptGroup", reflect.TypeOf((*MockConceptGroupService)(nil).AddObjectTypesToConceptGroup), ctx, tx, knID, branch, cgID, otIDs, importMode, strictMode)
}

// CheckConceptGroupExistByID mocks base method.
func (m *MockConceptGroupService) CheckConceptGroupExistByID(ctx context.Context, knID, branch, cgID string) (string, bool, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CheckConceptGroupExistByID", ctx, knID, branch, cgID)
	ret0, _ := ret[0].(string)
	ret1, _ := ret[1].(bool)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// CheckConceptGroupExistByID indicates an expected call of CheckConceptGroupExistByID.
func (mr *MockConceptGroupServiceMockRecorder) CheckConceptGroupExistByID(ctx, knID, branch, cgID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckConceptGroupExistByID", reflect.TypeOf((*MockConceptGroupService)(nil).CheckConceptGroupExistByID), ctx, knID, branch, cgID)
}

// CheckConceptGroupExistByName mocks base method.
func (m *MockConceptGroupService) CheckConceptGroupExistByName(ctx context.Context, knID, branch, cgName string) (string, bool, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CheckConceptGroupExistByName", ctx, knID, branch, cgName)
	ret0, _ := ret[0].(string)
	ret1, _ := ret[1].(bool)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// CheckConceptGroupExistByName indicates an expected call of CheckConceptGroupExistByName.
func (mr *MockConceptGroupServiceMockRecorder) CheckConceptGroupExistByName(ctx, knID, branch, cgName any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckConceptGroupExistByName", reflect.TypeOf((*MockConceptGroupService)(nil).CheckConceptGroupExistByName), ctx, knID, branch, cgName)
}

// CreateConceptGroup mocks base method.
func (m *MockConceptGroupService) CreateConceptGroup(ctx context.Context, tx *sql.Tx, conceptGroup *interfaces.ConceptGroup, mode string, strictMode bool) (string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateConceptGroup", ctx, tx, conceptGroup, mode, strictMode)
	ret0, _ := ret[0].(string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CreateConceptGroup indicates an expected call of CreateConceptGroup.
func (mr *MockConceptGroupServiceMockRecorder) CreateConceptGroup(ctx, tx, conceptGroup, mode, strictMode any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateConceptGroup", reflect.TypeOf((*MockConceptGroupService)(nil).CreateConceptGroup), ctx, tx, conceptGroup, mode, strictMode)
}

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

// DeleteConceptGroupByID indicates an expected call of DeleteConceptGroupByID.
func (mr *MockConceptGroupServiceMockRecorder) DeleteConceptGroupByID(ctx, tx, knID, branch, cgID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteConceptGroupByID", reflect.TypeOf((*MockConceptGroupService)(nil).DeleteConceptGroupByID), ctx, tx, knID, branch, cgID)
}

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

// DeleteConceptGroupsByKnID indicates an expected call of DeleteConceptGroupsByKnID.
func (mr *MockConceptGroupServiceMockRecorder) DeleteConceptGroupsByKnID(ctx, tx, knID, branch any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteConceptGroupsByKnID", reflect.TypeOf((*MockConceptGroupService)(nil).DeleteConceptGroupsByKnID), ctx, tx, knID, branch)
}

// DeleteObjectTypesFromGroup mocks base method.
func (m *MockConceptGroupService) DeleteObjectTypesFromGroup(ctx context.Context, tx *sql.Tx, knID, branch, cgID string, otIDs []string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteObjectTypesFromGroup", ctx, tx, knID, branch, cgID, otIDs)
	ret0, _ := ret[0].(error)
	return ret0
}

// DeleteObjectTypesFromGroup indicates an expected call of DeleteObjectTypesFromGroup.
func (mr *MockConceptGroupServiceMockRecorder) DeleteObjectTypesFromGroup(ctx, tx, knID, branch, cgID, otIDs any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteObjectTypesFromGroup", reflect.TypeOf((*MockConceptGroupService)(nil).DeleteObjectTypesFromGroup), ctx, tx, knID, branch, cgID, otIDs)
}

// GetConceptGroupByID mocks base method.
func (m *MockConceptGroupService) GetConceptGroupByID(ctx context.Context, knID, branch, cgID, mode string) (*interfaces.ConceptGroup, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetConceptGroupByID", ctx, knID, branch, cgID, mode)
	ret0, _ := ret[0].(*interfaces.ConceptGroup)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetConceptGroupByID indicates an expected call of GetConceptGroupByID.
func (mr *MockConceptGroupServiceMockRecorder) GetConceptGroupByID(ctx, knID, branch, cgID, mode any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetConceptGroupByID", reflect.TypeOf((*MockConceptGroupService)(nil).GetConceptGroupByID), ctx, knID, branch, cgID, mode)
}

// GetConceptGroupIDsByKnID mocks base method.
func (m *MockConceptGroupService) GetConceptGroupIDsByKnID(ctx context.Context, knID, branch string) ([]string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetConceptGroupIDsByKnID", ctx, knID, branch)
	ret0, _ := ret[0].([]string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetConceptGroupIDsByKnID indicates an expected call of GetConceptGroupIDsByKnID.
func (mr *MockConceptGroupServiceMockRecorder) GetConceptGroupIDsByKnID(ctx, knID, branch any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetConceptGroupIDsByKnID", reflect.TypeOf((*MockConceptGroupService)(nil).GetConceptGroupIDsByKnID), ctx, knID, branch)
}

// GetStatByConceptGroup mocks base method.
func (m *MockConceptGroupService) GetStatByConceptGroup(ctx context.Context, conceptGroup *interfaces.ConceptGroup) (*interfaces.Statistics, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetStatByConceptGroup", ctx, conceptGroup)
	ret0, _ := ret[0].(*interfaces.Statistics)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// ListConceptGroupRelations mocks base method.
func (m *MockConceptGroupService) ListConceptGroupRelations(ctx context.Context, query interfaces.ConceptGroupRelationsQueryParams) ([]interfaces.ConceptGroupRelation, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListConceptGroupRelations", ctx, query)
	ret0, _ := ret[0].([]interfaces.ConceptGroupRelation)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// ListConceptGroups mocks base method.
func (m *MockConceptGroupService) ListConceptGroups(ctx context.Context, query interfaces.ConceptGroupsQueryParams) ([]*interfaces.ConceptGroup, int, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListConceptGroups", ctx, query)
	ret0, _ := ret[0].([]*interfaces.ConceptGroup)
	ret1, _ := ret[1].(int)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

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

// UpdateConceptGroup mocks base method.
func (m *MockConceptGroupService) UpdateConceptGroup(ctx context.Context, tx *sql.Tx, conceptGroup *interfaces.ConceptGroup, strictMode bool) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpdateConceptGroup", ctx, tx, conceptGroup, strictMode)
	ret0, _ := ret[0].(error)
	return ret0
}

// UpdateConceptGroup indicates an expected call of UpdateConceptGroup.
func (mr *MockConceptGroupServiceMockRecorder) UpdateConceptGroup(ctx, tx, conceptGroup, strictMode any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateConceptGroup", reflect.TypeOf((*MockConceptGroupService)(nil).UpdateConceptGroup), ctx, tx, conceptGroup, strictMode)
}

// UpdateConceptGroupDetail mocks base method.
func (m *MockConceptGroupService) UpdateConceptGroupDetail(ctx context.Context, knID, branch, cgID, detail string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpdateConceptGroupDetail", ctx, knID, branch, cgID, detail)
	ret0, _ := ret[0].(error)
	return ret0
}

// UpdateConceptGroupDetail indicates an expected call of UpdateConceptGroupDetail.
func (mr *MockConceptGroupServiceMockRecorder) UpdateConceptGroupDetail(ctx, knID, branch, cgID, detail any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateConceptGroupDetail", reflect.TypeOf((*MockConceptGroupService)(nil).UpdateConceptGroupDetail), ctx, knID, branch, cgID, detail)
}

// ValidateConceptGroups mocks base method.
func (m *MockConceptGroupService) ValidateConceptGroups(ctx context.Context, knID, branch string, conceptGroups []*interfaces.ConceptGroup, strictMode bool, parentBatch *interfaces.BatchIDIndex, mode string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ValidateConceptGroups", ctx, knID, branch, conceptGroups, strictMode, parentBatch, mode)
	ret0, _ := ret[0].(error)
	return ret0
}

// ValidateConceptGroups indicates an expected call of ValidateConceptGroups.
func (mr *MockConceptGroupServiceMockRecorder) ValidateConceptGroups(ctx, knID, branch, conceptGroups, strictMode, parentBatch, mode any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ValidateConceptGroups", reflect.TypeOf((*MockConceptGroupService)(nil).ValidateConceptGroups), ctx, knID, branch, conceptGroups, strictMode, parentBatch, mode)
}
