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

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

import (
	context "context"
	models "github.com/AleksK1NG/api-mc/internal/models"
	utils "github.com/AleksK1NG/api-mc/pkg/utils"
	gomock "github.com/golang/mock/gomock"
	uuid "github.com/google/uuid"
	reflect "reflect"
)

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

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

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

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

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

// GetNewsByID mocks base method
func (m *MockRepository) GetNewsByID(ctx context.Context, newsID uuid.UUID) (*models.NewsBase, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetNewsByID", ctx, newsID)
	ret0, _ := ret[0].(*models.NewsBase)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// Delete mocks base method
func (m *MockRepository) Delete(ctx context.Context, newsID uuid.UUID) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Delete", ctx, newsID)
	ret0, _ := ret[0].(error)
	return ret0
}

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

// GetNews mocks base method
func (m *MockRepository) GetNews(ctx context.Context, pq *utils.PaginationQuery) (*models.NewsList, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetNews", ctx, pq)
	ret0, _ := ret[0].(*models.NewsList)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// SearchByTitle mocks base method
func (m *MockRepository) SearchByTitle(ctx context.Context, title string, query *utils.PaginationQuery) (*models.NewsList, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SearchByTitle", ctx, title, query)
	ret0, _ := ret[0].(*models.NewsList)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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