// Code generated by MockGen. DO NOT EDIT.
// Source: provider_repo.go
//
// Generated by this command:
//
//	mockgen -source=provider_repo.go -destination=../../tests/mocks/mock_provider_repository.go -package=mocks
//

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

import (
	reflect "reflect"

	domain "nex/backend/internal/domain"

	gomock "go.uber.org/mock/gomock"
)

// MockProviderRepository is a mock of ProviderRepository interface.
type MockProviderRepository struct {
	ctrl     *gomock.Controller
	recorder *MockProviderRepositoryMockRecorder
	isgomock struct{}
}

// MockProviderRepositoryMockRecorder is the mock recorder for MockProviderRepository.
type MockProviderRepositoryMockRecorder struct {
	mock *MockProviderRepository
}

// NewMockProviderRepository creates a new mock instance.
func NewMockProviderRepository(ctrl *gomock.Controller) *MockProviderRepository {
	mock := &MockProviderRepository{ctrl: ctrl}
	mock.recorder = &MockProviderRepositoryMockRecorder{mock}
	return mock
}

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

// Create mocks base method.
func (m *MockProviderRepository) Create(provider *domain.Provider) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Create", provider)
	ret0, _ := ret[0].(error)
	return ret0
}

// Create indicates an expected call of Create.
func (mr *MockProviderRepositoryMockRecorder) Create(provider any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockProviderRepository)(nil).Create), provider)
}

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

// Delete indicates an expected call of Delete.
func (mr *MockProviderRepositoryMockRecorder) Delete(id any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockProviderRepository)(nil).Delete), id)
}

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

// GetByID indicates an expected call of GetByID.
func (mr *MockProviderRepositoryMockRecorder) GetByID(id any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetByID", reflect.TypeOf((*MockProviderRepository)(nil).GetByID), id)
}

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

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

// Update mocks base method.
func (m *MockProviderRepository) Update(id string, updates map[string]any) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Update", id, updates)
	ret0, _ := ret[0].(error)
	return ret0
}

// Update indicates an expected call of Update.
func (mr *MockProviderRepositoryMockRecorder) Update(id, updates any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Update", reflect.TypeOf((*MockProviderRepository)(nil).Update), id, updates)
}
