// Code generated by MockGen. DO NOT EDIT.
// Source: gitlab.com/gitlab-org/api/client-go/v2 (interfaces: MemberRolesServiceInterface)
//
// Generated by this command:
//
//	mockgen -typed -destination=member_roles_mock.go -write_package_comment=false -package=testing gitlab.com/gitlab-org/api/client-go/v2 MemberRolesServiceInterface
//

package testing

import (
	reflect "reflect"

	gitlab "gitlab.com/gitlab-org/api/client-go/v2"
	gomock "go.uber.org/mock/gomock"
)

// MockMemberRolesServiceInterface is a mock of MemberRolesServiceInterface interface.
type MockMemberRolesServiceInterface struct {
	ctrl     *gomock.Controller
	recorder *MockMemberRolesServiceInterfaceMockRecorder
	isgomock struct{}
}

// MockMemberRolesServiceInterfaceMockRecorder is the mock recorder for MockMemberRolesServiceInterface.
type MockMemberRolesServiceInterfaceMockRecorder struct {
	mock *MockMemberRolesServiceInterface
}

// NewMockMemberRolesServiceInterface creates a new mock instance.
func NewMockMemberRolesServiceInterface(ctrl *gomock.Controller) *MockMemberRolesServiceInterface {
	mock := &MockMemberRolesServiceInterface{ctrl: ctrl}
	mock.recorder = &MockMemberRolesServiceInterfaceMockRecorder{mock}
	return mock
}

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

// CreateInstanceMemberRole mocks base method.
func (m *MockMemberRolesServiceInterface) CreateInstanceMemberRole(opt *gitlab.CreateMemberRoleOptions, options ...gitlab.RequestOptionFunc) (*gitlab.MemberRole, *gitlab.Response, error) {
	m.ctrl.T.Helper()
	varargs := []any{opt}
	for _, a := range options {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "CreateInstanceMemberRole", varargs...)
	ret0, _ := ret[0].(*gitlab.MemberRole)
	ret1, _ := ret[1].(*gitlab.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// CreateInstanceMemberRole indicates an expected call of CreateInstanceMemberRole.
func (mr *MockMemberRolesServiceInterfaceMockRecorder) CreateInstanceMemberRole(opt any, options ...any) *MockMemberRolesServiceInterfaceCreateInstanceMemberRoleCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{opt}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateInstanceMemberRole", reflect.TypeOf((*MockMemberRolesServiceInterface)(nil).CreateInstanceMemberRole), varargs...)
	return &MockMemberRolesServiceInterfaceCreateInstanceMemberRoleCall{Call: call}
}

// MockMemberRolesServiceInterfaceCreateInstanceMemberRoleCall wrap *gomock.Call
type MockMemberRolesServiceInterfaceCreateInstanceMemberRoleCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockMemberRolesServiceInterfaceCreateInstanceMemberRoleCall) Return(arg0 *gitlab.MemberRole, arg1 *gitlab.Response, arg2 error) *MockMemberRolesServiceInterfaceCreateInstanceMemberRoleCall {
	c.Call = c.Call.Return(arg0, arg1, arg2)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockMemberRolesServiceInterfaceCreateInstanceMemberRoleCall) Do(f func(*gitlab.CreateMemberRoleOptions, ...gitlab.RequestOptionFunc) (*gitlab.MemberRole, *gitlab.Response, error)) *MockMemberRolesServiceInterfaceCreateInstanceMemberRoleCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockMemberRolesServiceInterfaceCreateInstanceMemberRoleCall) DoAndReturn(f func(*gitlab.CreateMemberRoleOptions, ...gitlab.RequestOptionFunc) (*gitlab.MemberRole, *gitlab.Response, error)) *MockMemberRolesServiceInterfaceCreateInstanceMemberRoleCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// CreateMemberRole mocks base method.
func (m *MockMemberRolesServiceInterface) CreateMemberRole(gid any, opt *gitlab.CreateMemberRoleOptions, options ...gitlab.RequestOptionFunc) (*gitlab.MemberRole, *gitlab.Response, error) {
	m.ctrl.T.Helper()
	varargs := []any{gid, opt}
	for _, a := range options {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "CreateMemberRole", varargs...)
	ret0, _ := ret[0].(*gitlab.MemberRole)
	ret1, _ := ret[1].(*gitlab.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// CreateMemberRole indicates an expected call of CreateMemberRole.
func (mr *MockMemberRolesServiceInterfaceMockRecorder) CreateMemberRole(gid, opt any, options ...any) *MockMemberRolesServiceInterfaceCreateMemberRoleCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{gid, opt}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateMemberRole", reflect.TypeOf((*MockMemberRolesServiceInterface)(nil).CreateMemberRole), varargs...)
	return &MockMemberRolesServiceInterfaceCreateMemberRoleCall{Call: call}
}

// MockMemberRolesServiceInterfaceCreateMemberRoleCall wrap *gomock.Call
type MockMemberRolesServiceInterfaceCreateMemberRoleCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockMemberRolesServiceInterfaceCreateMemberRoleCall) Return(arg0 *gitlab.MemberRole, arg1 *gitlab.Response, arg2 error) *MockMemberRolesServiceInterfaceCreateMemberRoleCall {
	c.Call = c.Call.Return(arg0, arg1, arg2)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockMemberRolesServiceInterfaceCreateMemberRoleCall) Do(f func(any, *gitlab.CreateMemberRoleOptions, ...gitlab.RequestOptionFunc) (*gitlab.MemberRole, *gitlab.Response, error)) *MockMemberRolesServiceInterfaceCreateMemberRoleCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockMemberRolesServiceInterfaceCreateMemberRoleCall) DoAndReturn(f func(any, *gitlab.CreateMemberRoleOptions, ...gitlab.RequestOptionFunc) (*gitlab.MemberRole, *gitlab.Response, error)) *MockMemberRolesServiceInterfaceCreateMemberRoleCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// DeleteInstanceMemberRole mocks base method.
func (m *MockMemberRolesServiceInterface) DeleteInstanceMemberRole(memberRoleID int64, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error) {
	m.ctrl.T.Helper()
	varargs := []any{memberRoleID}
	for _, a := range options {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "DeleteInstanceMemberRole", varargs...)
	ret0, _ := ret[0].(*gitlab.Response)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// DeleteInstanceMemberRole indicates an expected call of DeleteInstanceMemberRole.
func (mr *MockMemberRolesServiceInterfaceMockRecorder) DeleteInstanceMemberRole(memberRoleID any, options ...any) *MockMemberRolesServiceInterfaceDeleteInstanceMemberRoleCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{memberRoleID}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteInstanceMemberRole", reflect.TypeOf((*MockMemberRolesServiceInterface)(nil).DeleteInstanceMemberRole), varargs...)
	return &MockMemberRolesServiceInterfaceDeleteInstanceMemberRoleCall{Call: call}
}

// MockMemberRolesServiceInterfaceDeleteInstanceMemberRoleCall wrap *gomock.Call
type MockMemberRolesServiceInterfaceDeleteInstanceMemberRoleCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockMemberRolesServiceInterfaceDeleteInstanceMemberRoleCall) Return(arg0 *gitlab.Response, arg1 error) *MockMemberRolesServiceInterfaceDeleteInstanceMemberRoleCall {
	c.Call = c.Call.Return(arg0, arg1)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockMemberRolesServiceInterfaceDeleteInstanceMemberRoleCall) Do(f func(int64, ...gitlab.RequestOptionFunc) (*gitlab.Response, error)) *MockMemberRolesServiceInterfaceDeleteInstanceMemberRoleCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockMemberRolesServiceInterfaceDeleteInstanceMemberRoleCall) DoAndReturn(f func(int64, ...gitlab.RequestOptionFunc) (*gitlab.Response, error)) *MockMemberRolesServiceInterfaceDeleteInstanceMemberRoleCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// DeleteMemberRole mocks base method.
func (m *MockMemberRolesServiceInterface) DeleteMemberRole(gid any, memberRole int64, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error) {
	m.ctrl.T.Helper()
	varargs := []any{gid, memberRole}
	for _, a := range options {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "DeleteMemberRole", varargs...)
	ret0, _ := ret[0].(*gitlab.Response)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// DeleteMemberRole indicates an expected call of DeleteMemberRole.
func (mr *MockMemberRolesServiceInterfaceMockRecorder) DeleteMemberRole(gid, memberRole any, options ...any) *MockMemberRolesServiceInterfaceDeleteMemberRoleCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{gid, memberRole}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteMemberRole", reflect.TypeOf((*MockMemberRolesServiceInterface)(nil).DeleteMemberRole), varargs...)
	return &MockMemberRolesServiceInterfaceDeleteMemberRoleCall{Call: call}
}

// MockMemberRolesServiceInterfaceDeleteMemberRoleCall wrap *gomock.Call
type MockMemberRolesServiceInterfaceDeleteMemberRoleCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockMemberRolesServiceInterfaceDeleteMemberRoleCall) Return(arg0 *gitlab.Response, arg1 error) *MockMemberRolesServiceInterfaceDeleteMemberRoleCall {
	c.Call = c.Call.Return(arg0, arg1)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockMemberRolesServiceInterfaceDeleteMemberRoleCall) Do(f func(any, int64, ...gitlab.RequestOptionFunc) (*gitlab.Response, error)) *MockMemberRolesServiceInterfaceDeleteMemberRoleCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockMemberRolesServiceInterfaceDeleteMemberRoleCall) DoAndReturn(f func(any, int64, ...gitlab.RequestOptionFunc) (*gitlab.Response, error)) *MockMemberRolesServiceInterfaceDeleteMemberRoleCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// ListInstanceMemberRoles mocks base method.
func (m *MockMemberRolesServiceInterface) ListInstanceMemberRoles(options ...gitlab.RequestOptionFunc) ([]*gitlab.MemberRole, *gitlab.Response, error) {
	m.ctrl.T.Helper()
	varargs := []any{}
	for _, a := range options {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "ListInstanceMemberRoles", varargs...)
	ret0, _ := ret[0].([]*gitlab.MemberRole)
	ret1, _ := ret[1].(*gitlab.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// ListInstanceMemberRoles indicates an expected call of ListInstanceMemberRoles.
func (mr *MockMemberRolesServiceInterfaceMockRecorder) ListInstanceMemberRoles(options ...any) *MockMemberRolesServiceInterfaceListInstanceMemberRolesCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListInstanceMemberRoles", reflect.TypeOf((*MockMemberRolesServiceInterface)(nil).ListInstanceMemberRoles), options...)
	return &MockMemberRolesServiceInterfaceListInstanceMemberRolesCall{Call: call}
}

// MockMemberRolesServiceInterfaceListInstanceMemberRolesCall wrap *gomock.Call
type MockMemberRolesServiceInterfaceListInstanceMemberRolesCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockMemberRolesServiceInterfaceListInstanceMemberRolesCall) Return(arg0 []*gitlab.MemberRole, arg1 *gitlab.Response, arg2 error) *MockMemberRolesServiceInterfaceListInstanceMemberRolesCall {
	c.Call = c.Call.Return(arg0, arg1, arg2)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockMemberRolesServiceInterfaceListInstanceMemberRolesCall) Do(f func(...gitlab.RequestOptionFunc) ([]*gitlab.MemberRole, *gitlab.Response, error)) *MockMemberRolesServiceInterfaceListInstanceMemberRolesCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockMemberRolesServiceInterfaceListInstanceMemberRolesCall) DoAndReturn(f func(...gitlab.RequestOptionFunc) ([]*gitlab.MemberRole, *gitlab.Response, error)) *MockMemberRolesServiceInterfaceListInstanceMemberRolesCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// ListMemberRoles mocks base method.
func (m *MockMemberRolesServiceInterface) ListMemberRoles(gid any, options ...gitlab.RequestOptionFunc) ([]*gitlab.MemberRole, *gitlab.Response, error) {
	m.ctrl.T.Helper()
	varargs := []any{gid}
	for _, a := range options {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "ListMemberRoles", varargs...)
	ret0, _ := ret[0].([]*gitlab.MemberRole)
	ret1, _ := ret[1].(*gitlab.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// ListMemberRoles indicates an expected call of ListMemberRoles.
func (mr *MockMemberRolesServiceInterfaceMockRecorder) ListMemberRoles(gid any, options ...any) *MockMemberRolesServiceInterfaceListMemberRolesCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{gid}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListMemberRoles", reflect.TypeOf((*MockMemberRolesServiceInterface)(nil).ListMemberRoles), varargs...)
	return &MockMemberRolesServiceInterfaceListMemberRolesCall{Call: call}
}

// MockMemberRolesServiceInterfaceListMemberRolesCall wrap *gomock.Call
type MockMemberRolesServiceInterfaceListMemberRolesCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockMemberRolesServiceInterfaceListMemberRolesCall) Return(arg0 []*gitlab.MemberRole, arg1 *gitlab.Response, arg2 error) *MockMemberRolesServiceInterfaceListMemberRolesCall {
	c.Call = c.Call.Return(arg0, arg1, arg2)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockMemberRolesServiceInterfaceListMemberRolesCall) Do(f func(any, ...gitlab.RequestOptionFunc) ([]*gitlab.MemberRole, *gitlab.Response, error)) *MockMemberRolesServiceInterfaceListMemberRolesCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockMemberRolesServiceInterfaceListMemberRolesCall) DoAndReturn(f func(any, ...gitlab.RequestOptionFunc) ([]*gitlab.MemberRole, *gitlab.Response, error)) *MockMemberRolesServiceInterfaceListMemberRolesCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}
