// Code generated by MockGen. DO NOT EDIT.
// Source: ./repository.go

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

import (
	context "context"
	reflect "reflect"

	git "github.com/argoproj-labs/argocd-autopilot/pkg/git"
	gomock "github.com/golang/mock/gomock"
)

// MockRepository is a mock of Repository interface.
type MockRepository struct {
	ctrl     *gomock.Controller
	recorder *MockRepositoryMockRecorder
}

// MockRepositoryMockRecorder is the mock recorder for MockRepository.
type MockRepositoryMockRecorder struct {
	mock *MockRepository
}

// NewMockRepository creates a new mock instance.
func NewMockRepository(ctrl *gomock.Controller) *MockRepository {
	mock := &MockRepository{ctrl: ctrl}
	mock.recorder = &MockRepositoryMockRecorder{mock}
	return mock
}

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

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

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

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

// Persist indicates an expected call of Persist.
func (mr *MockRepositoryMockRecorder) Persist(ctx, opts interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Persist", reflect.TypeOf((*MockRepository)(nil).Persist), ctx, opts)
}
