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

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

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

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

// MockUserRoleUseCase is a mock of UserRoleUseCase interface.
type MockUserRoleUseCase struct {
	ctrl     *gomock.Controller
	recorder *MockUserRoleUseCaseMockRecorder
	isgomock struct{}
}

// MockUserRoleUseCaseMockRecorder is the mock recorder for MockUserRoleUseCase.
type MockUserRoleUseCaseMockRecorder struct {
	mock *MockUserRoleUseCase
}

// NewMockUserRoleUseCase creates a new mock instance.
func NewMockUserRoleUseCase(ctrl *gomock.Controller) *MockUserRoleUseCase {
	mock := &MockUserRoleUseCase{ctrl: ctrl}
	mock.recorder = &MockUserRoleUseCaseMockRecorder{mock}
	return mock
}

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

// Assign mocks base method.
func (m *MockUserRoleUseCase) Assign(ctx context.Context, req usecase.AssignRoleRequest) (*usecase.UserRoleResponse, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Assign", ctx, req)
	ret0, _ := ret[0].(*usecase.UserRoleResponse)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

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

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

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

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

// List mocks base method.
func (m *MockUserRoleUseCase) List(ctx context.Context, filter usecase.UserRoleFilterRequest) ([]*usecase.UserRoleResponse, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "List", ctx, filter)
	ret0, _ := ret[0].([]*usecase.UserRoleResponse)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

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

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

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

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