// Code generated by MockGen. DO NOT EDIT.
// Source: ./pkg/permission/domain/usecase/role_permission.go
//
// Generated by this command:
//
//	mockgen -source=./pkg/permission/domain/usecase/role_permission.go -destination=./pkg/permission/mock/usecase/role_permission.go -package=mock
//

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

import (
	permission "backend/pkg/permission/domain/permission"
	usecase "backend/pkg/permission/domain/usecase"
	context "context"
	reflect "reflect"

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

// MockRolePermissionUseCase is a mock of RolePermissionUseCase interface.
type MockRolePermissionUseCase struct {
	ctrl     *gomock.Controller
	recorder *MockRolePermissionUseCaseMockRecorder
	isgomock struct{}
}

// MockRolePermissionUseCaseMockRecorder is the mock recorder for MockRolePermissionUseCase.
type MockRolePermissionUseCaseMockRecorder struct {
	mock *MockRolePermissionUseCase
}

// NewMockRolePermissionUseCase creates a new mock instance.
func NewMockRolePermissionUseCase(ctrl *gomock.Controller) *MockRolePermissionUseCase {
	mock := &MockRolePermissionUseCase{ctrl: ctrl}
	mock.recorder = &MockRolePermissionUseCaseMockRecorder{mock}
	return mock
}

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

// CheckPermission mocks base method.
func (m *MockRolePermissionUseCase) CheckPermission(ctx context.Context, roleUID, path, method string) (*usecase.PermissionCheckResponse, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CheckPermission", ctx, roleUID, path, method)
	ret0, _ := ret[0].(*usecase.PermissionCheckResponse)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CheckPermission indicates an expected call of CheckPermission.
func (mr *MockRolePermissionUseCaseMockRecorder) CheckPermission(ctx, roleUID, path, method any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckPermission", reflect.TypeOf((*MockRolePermissionUseCase)(nil).CheckPermission), ctx, roleUID, path, method)
}

// GetByRoleUID mocks base method.
func (m *MockRolePermissionUseCase) GetByRoleUID(ctx context.Context, roleUID string) (permission.Permissions, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetByRoleUID", ctx, roleUID)
	ret0, _ := ret[0].(permission.Permissions)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// GetByUserUID mocks base method.
func (m *MockRolePermissionUseCase) GetByUserUID(ctx context.Context, userUID string) (*usecase.UserPermissionResponse, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetByUserUID", ctx, userUID)
	ret0, _ := ret[0].(*usecase.UserPermissionResponse)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// UpdateRolePermissions mocks base method.
func (m *MockRolePermissionUseCase) UpdateRolePermissions(ctx context.Context, roleUID string, permissions permission.Permissions) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpdateRolePermissions", ctx, roleUID, permissions)
	ret0, _ := ret[0].(error)
	return ret0
}

// UpdateRolePermissions indicates an expected call of UpdateRolePermissions.
func (mr *MockRolePermissionUseCaseMockRecorder) UpdateRolePermissions(ctx, roleUID, permissions any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRolePermissions", reflect.TypeOf((*MockRolePermissionUseCase)(nil).UpdateRolePermissions), ctx, roleUID, permissions)
}
