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

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

import (
	context "context"
	reflect "reflect"

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

// MockGitWorktree is a mock of GitWorktree interface.
type MockGitWorktree struct {
	ctrl     *gomock.Controller
	recorder *MockGitWorktreeMockRecorder
	isgomock struct{}
}

// MockGitWorktreeMockRecorder is the mock recorder for MockGitWorktree.
type MockGitWorktreeMockRecorder struct {
	mock *MockGitWorktree
}

// NewMockGitWorktree creates a new mock instance.
func NewMockGitWorktree(ctrl *gomock.Controller) *MockGitWorktree {
	mock := &MockGitWorktree{ctrl: ctrl}
	mock.recorder = &MockGitWorktreeMockRecorder{mock}
	return mock
}

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

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

// CheckoutBranch indicates an expected call of CheckoutBranch.
func (mr *MockGitWorktreeMockRecorder) CheckoutBranch(ctx, branch any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckoutBranch", reflect.TypeOf((*MockGitWorktree)(nil).CheckoutBranch), ctx, branch)
}

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

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

// RootDir mocks base method.
func (m *MockGitWorktree) RootDir() string {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "RootDir")
	ret0, _ := ret[0].(string)
	return ret0
}

// RootDir indicates an expected call of RootDir.
func (mr *MockGitWorktreeMockRecorder) RootDir() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RootDir", reflect.TypeOf((*MockGitWorktree)(nil).RootDir))
}

// 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
}

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

// BranchGraph indicates an expected call of BranchGraph.
func (mr *MockServiceMockRecorder) BranchGraph(ctx, opts any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BranchGraph", reflect.TypeOf((*MockService)(nil).BranchGraph), ctx, opts)
}

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

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

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

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