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

package testing

import (
	reflect "reflect"

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

// MockEpicIssuesServiceInterface is a mock of EpicIssuesServiceInterface interface.
type MockEpicIssuesServiceInterface struct {
	ctrl     *gomock.Controller
	recorder *MockEpicIssuesServiceInterfaceMockRecorder
	isgomock struct{}
}

// MockEpicIssuesServiceInterfaceMockRecorder is the mock recorder for MockEpicIssuesServiceInterface.
type MockEpicIssuesServiceInterfaceMockRecorder struct {
	mock *MockEpicIssuesServiceInterface
}

// NewMockEpicIssuesServiceInterface creates a new mock instance.
func NewMockEpicIssuesServiceInterface(ctrl *gomock.Controller) *MockEpicIssuesServiceInterface {
	mock := &MockEpicIssuesServiceInterface{ctrl: ctrl}
	mock.recorder = &MockEpicIssuesServiceInterfaceMockRecorder{mock}
	return mock
}

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

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

// AssignEpicIssue indicates an expected call of AssignEpicIssue.
func (mr *MockEpicIssuesServiceInterfaceMockRecorder) AssignEpicIssue(gid, epic, issue any, options ...any) *MockEpicIssuesServiceInterfaceAssignEpicIssueCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{gid, epic, issue}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AssignEpicIssue", reflect.TypeOf((*MockEpicIssuesServiceInterface)(nil).AssignEpicIssue), varargs...)
	return &MockEpicIssuesServiceInterfaceAssignEpicIssueCall{Call: call}
}

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

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

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

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

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

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

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

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

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

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

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

// RemoveEpicIssue indicates an expected call of RemoveEpicIssue.
func (mr *MockEpicIssuesServiceInterfaceMockRecorder) RemoveEpicIssue(gid, epic, epicIssue any, options ...any) *MockEpicIssuesServiceInterfaceRemoveEpicIssueCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{gid, epic, epicIssue}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoveEpicIssue", reflect.TypeOf((*MockEpicIssuesServiceInterface)(nil).RemoveEpicIssue), varargs...)
	return &MockEpicIssuesServiceInterfaceRemoveEpicIssueCall{Call: call}
}

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

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

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

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

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

// UpdateEpicIssueAssignment indicates an expected call of UpdateEpicIssueAssignment.
func (mr *MockEpicIssuesServiceInterfaceMockRecorder) UpdateEpicIssueAssignment(gid, epic, epicIssue, opt any, options ...any) *MockEpicIssuesServiceInterfaceUpdateEpicIssueAssignmentCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{gid, epic, epicIssue, opt}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateEpicIssueAssignment", reflect.TypeOf((*MockEpicIssuesServiceInterface)(nil).UpdateEpicIssueAssignment), varargs...)
	return &MockEpicIssuesServiceInterfaceUpdateEpicIssueAssignmentCall{Call: call}
}

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

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

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

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