// Code generated by MockGen. DO NOT EDIT.
// Source: ./pkg/permission/domain/usecase/role.go
//
// Generated by this command:
//
//	mockgen -source=./pkg/permission/domain/usecase/role.go -destination=./pkg/permission/mock/usecase/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"
)

// MockRoleUseCase is a mock of RoleUseCase interface.
type MockRoleUseCase struct {
	ctrl     *gomock.Controller
	recorder *MockRoleUseCaseMockRecorder
	isgomock struct{}
}

// MockRoleUseCaseMockRecorder is the mock recorder for MockRoleUseCase.
type MockRoleUseCaseMockRecorder struct {
	mock *MockRoleUseCase
}

// NewMockRoleUseCase creates a new mock instance.
func NewMockRoleUseCase(ctrl *gomock.Controller) *MockRoleUseCase {
	mock := &MockRoleUseCase{ctrl: ctrl}
	mock.recorder = &MockRoleUseCaseMockRecorder{mock}
	return mock
}

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

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

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

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

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

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

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

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

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

// Page mocks base method.
func (m *MockRoleUseCase) Page(ctx context.Context, filter usecase.RoleFilterRequest, page, size int) (*usecase.RolePageResponse, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Page", ctx, filter, page, size)
	ret0, _ := ret[0].(*usecase.RolePageResponse)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Page indicates an expected call of Page.
func (mr *MockRoleUseCaseMockRecorder) Page(ctx, filter, page, size any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Page", reflect.TypeOf((*MockRoleUseCase)(nil).Page), ctx, filter, page, size)
}

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

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