// Code generated by MockGen. DO NOT EDIT.
// Source: go.abhg.dev/gs/internal/handler/submit (interfaces: Service)
//
// Generated by this command:
//
//	mockgen -typed -destination mocks_test.go -package submit . Service
//

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

import (
	context "context"
	reflect "reflect"

	forge "go.abhg.dev/gs/internal/forge"
	spice "go.abhg.dev/gs/internal/spice"
	gomock "go.uber.org/mock/gomock"
)

// MockService is a mock of Service interface.
type MockService struct {
	ctrl     *gomock.Controller
	recorder *MockServiceMockRecorder
	isgomock struct{}
}

// MockServiceMockRecorder is the mock recorder for MockService.
type MockServiceMockRecorder struct {
	mock *MockService
}

// NewMockService creates a new mock instance.
func NewMockService(ctrl *gomock.Controller) *MockService {
	mock := &MockService{ctrl: ctrl}
	mock.recorder = &MockServiceMockRecorder{mock}
	return mock
}

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

// ListChangeTemplates mocks base method.
func (m *MockService) ListChangeTemplates(arg0 context.Context, arg1 string, arg2 forge.Repository) ([]*forge.ChangeTemplate, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListChangeTemplates", arg0, arg1, arg2)
	ret0, _ := ret[0].([]*forge.ChangeTemplate)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ListChangeTemplates indicates an expected call of ListChangeTemplates.
func (mr *MockServiceMockRecorder) ListChangeTemplates(arg0, arg1, arg2 any) *MockServiceListChangeTemplatesCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListChangeTemplates", reflect.TypeOf((*MockService)(nil).ListChangeTemplates), arg0, arg1, arg2)
	return &MockServiceListChangeTemplatesCall{Call: call}
}

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

// Return rewrite *gomock.Call.Return
func (c *MockServiceListChangeTemplatesCall) Return(arg0 []*forge.ChangeTemplate, arg1 error) *MockServiceListChangeTemplatesCall {
	c.Call = c.Call.Return(arg0, arg1)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockServiceListChangeTemplatesCall) Do(f func(context.Context, string, forge.Repository) ([]*forge.ChangeTemplate, error)) *MockServiceListChangeTemplatesCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockServiceListChangeTemplatesCall) DoAndReturn(f func(context.Context, string, forge.Repository) ([]*forge.ChangeTemplate, error)) *MockServiceListChangeTemplatesCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// LoadBranches mocks base method.
func (m *MockService) LoadBranches(arg0 context.Context) ([]spice.LoadBranchItem, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "LoadBranches", arg0)
	ret0, _ := ret[0].([]spice.LoadBranchItem)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// LoadBranches indicates an expected call of LoadBranches.
func (mr *MockServiceMockRecorder) LoadBranches(arg0 any) *MockServiceLoadBranchesCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LoadBranches", reflect.TypeOf((*MockService)(nil).LoadBranches), arg0)
	return &MockServiceLoadBranchesCall{Call: call}
}

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

// Return rewrite *gomock.Call.Return
func (c *MockServiceLoadBranchesCall) Return(arg0 []spice.LoadBranchItem, arg1 error) *MockServiceLoadBranchesCall {
	c.Call = c.Call.Return(arg0, arg1)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockServiceLoadBranchesCall) Do(f func(context.Context) ([]spice.LoadBranchItem, error)) *MockServiceLoadBranchesCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockServiceLoadBranchesCall) DoAndReturn(f func(context.Context) ([]spice.LoadBranchItem, error)) *MockServiceLoadBranchesCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// LookupBranch mocks base method.
func (m *MockService) LookupBranch(ctx context.Context, name string) (*spice.LookupBranchResponse, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "LookupBranch", ctx, name)
	ret0, _ := ret[0].(*spice.LookupBranchResponse)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// LookupBranch indicates an expected call of LookupBranch.
func (mr *MockServiceMockRecorder) LookupBranch(ctx, name any) *MockServiceLookupBranchCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LookupBranch", reflect.TypeOf((*MockService)(nil).LookupBranch), ctx, name)
	return &MockServiceLookupBranchCall{Call: call}
}

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

// Return rewrite *gomock.Call.Return
func (c *MockServiceLookupBranchCall) Return(arg0 *spice.LookupBranchResponse, arg1 error) *MockServiceLookupBranchCall {
	c.Call = c.Call.Return(arg0, arg1)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockServiceLookupBranchCall) Do(f func(context.Context, string) (*spice.LookupBranchResponse, error)) *MockServiceLookupBranchCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockServiceLookupBranchCall) DoAndReturn(f func(context.Context, string) (*spice.LookupBranchResponse, error)) *MockServiceLookupBranchCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// UnusedBranchName mocks base method.
func (m *MockService) UnusedBranchName(ctx context.Context, remote, branch string) (string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UnusedBranchName", ctx, remote, branch)
	ret0, _ := ret[0].(string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// UnusedBranchName indicates an expected call of UnusedBranchName.
func (mr *MockServiceMockRecorder) UnusedBranchName(ctx, remote, branch any) *MockServiceUnusedBranchNameCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnusedBranchName", reflect.TypeOf((*MockService)(nil).UnusedBranchName), ctx, remote, branch)
	return &MockServiceUnusedBranchNameCall{Call: call}
}

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

// Return rewrite *gomock.Call.Return
func (c *MockServiceUnusedBranchNameCall) Return(arg0 string, arg1 error) *MockServiceUnusedBranchNameCall {
	c.Call = c.Call.Return(arg0, arg1)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockServiceUnusedBranchNameCall) Do(f func(context.Context, string, string) (string, error)) *MockServiceUnusedBranchNameCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockServiceUnusedBranchNameCall) DoAndReturn(f func(context.Context, string, string) (string, error)) *MockServiceUnusedBranchNameCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

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

// VerifyRestacked indicates an expected call of VerifyRestacked.
func (mr *MockServiceMockRecorder) VerifyRestacked(ctx, name any) *MockServiceVerifyRestackedCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "VerifyRestacked", reflect.TypeOf((*MockService)(nil).VerifyRestacked), ctx, name)
	return &MockServiceVerifyRestackedCall{Call: call}
}

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

// Return rewrite *gomock.Call.Return
func (c *MockServiceVerifyRestackedCall) Return(arg0 error) *MockServiceVerifyRestackedCall {
	c.Call = c.Call.Return(arg0)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockServiceVerifyRestackedCall) Do(f func(context.Context, string) error) *MockServiceVerifyRestackedCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockServiceVerifyRestackedCall) DoAndReturn(f func(context.Context, string) error) *MockServiceVerifyRestackedCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}
