// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/chatbotgang/go-clean-architecture-template/internal/app/service/barter (interfaces: GoodRepository)

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

import (
	context "context"
	reflect "reflect"

	barter "github.com/chatbotgang/go-clean-architecture-template/internal/domain/barter"
	common "github.com/chatbotgang/go-clean-architecture-template/internal/domain/common"
	gomock "github.com/golang/mock/gomock"
)

// MockGoodRepository is a mock of GoodRepository interface.
type MockGoodRepository struct {
	ctrl     *gomock.Controller
	recorder *MockGoodRepositoryMockRecorder
}

// MockGoodRepositoryMockRecorder is the mock recorder for MockGoodRepository.
type MockGoodRepositoryMockRecorder struct {
	mock *MockGoodRepository
}

// NewMockGoodRepository creates a new mock instance.
func NewMockGoodRepository(ctrl *gomock.Controller) *MockGoodRepository {
	mock := &MockGoodRepository{ctrl: ctrl}
	mock.recorder = &MockGoodRepositoryMockRecorder{mock}
	return mock
}

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

// CreateGood mocks base method.
func (m *MockGoodRepository) CreateGood(arg0 context.Context, arg1 barter.Good) (*barter.Good, common.Error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateGood", arg0, arg1)
	ret0, _ := ret[0].(*barter.Good)
	ret1, _ := ret[1].(common.Error)
	return ret0, ret1
}

// CreateGood indicates an expected call of CreateGood.
func (mr *MockGoodRepositoryMockRecorder) CreateGood(arg0, arg1 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateGood", reflect.TypeOf((*MockGoodRepository)(nil).CreateGood), arg0, arg1)
}

// DeleteGoodByID mocks base method.
func (m *MockGoodRepository) DeleteGoodByID(arg0 context.Context, arg1 int) common.Error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteGoodByID", arg0, arg1)
	ret0, _ := ret[0].(common.Error)
	return ret0
}

// DeleteGoodByID indicates an expected call of DeleteGoodByID.
func (mr *MockGoodRepositoryMockRecorder) DeleteGoodByID(arg0, arg1 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteGoodByID", reflect.TypeOf((*MockGoodRepository)(nil).DeleteGoodByID), arg0, arg1)
}

// GetGoodByID mocks base method.
func (m *MockGoodRepository) GetGoodByID(arg0 context.Context, arg1 int) (*barter.Good, common.Error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetGoodByID", arg0, arg1)
	ret0, _ := ret[0].(*barter.Good)
	ret1, _ := ret[1].(common.Error)
	return ret0, ret1
}

// GetGoodByID indicates an expected call of GetGoodByID.
func (mr *MockGoodRepositoryMockRecorder) GetGoodByID(arg0, arg1 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetGoodByID", reflect.TypeOf((*MockGoodRepository)(nil).GetGoodByID), arg0, arg1)
}

// ListGoods mocks base method.
func (m *MockGoodRepository) ListGoods(arg0 context.Context) ([]barter.Good, common.Error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListGoods", arg0)
	ret0, _ := ret[0].([]barter.Good)
	ret1, _ := ret[1].(common.Error)
	return ret0, ret1
}

// ListGoods indicates an expected call of ListGoods.
func (mr *MockGoodRepositoryMockRecorder) ListGoods(arg0 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListGoods", reflect.TypeOf((*MockGoodRepository)(nil).ListGoods), arg0)
}

// ListGoodsByOwner mocks base method.
func (m *MockGoodRepository) ListGoodsByOwner(arg0 context.Context, arg1 int) ([]barter.Good, common.Error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListGoodsByOwner", arg0, arg1)
	ret0, _ := ret[0].([]barter.Good)
	ret1, _ := ret[1].(common.Error)
	return ret0, ret1
}

// ListGoodsByOwner indicates an expected call of ListGoodsByOwner.
func (mr *MockGoodRepositoryMockRecorder) ListGoodsByOwner(arg0, arg1 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListGoodsByOwner", reflect.TypeOf((*MockGoodRepository)(nil).ListGoodsByOwner), arg0, arg1)
}

// UpdateGood mocks base method.
func (m *MockGoodRepository) UpdateGood(arg0 context.Context, arg1 barter.Good) (*barter.Good, common.Error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpdateGood", arg0, arg1)
	ret0, _ := ret[0].(*barter.Good)
	ret1, _ := ret[1].(common.Error)
	return ret0, ret1
}

// UpdateGood indicates an expected call of UpdateGood.
func (mr *MockGoodRepositoryMockRecorder) UpdateGood(arg0, arg1 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateGood", reflect.TypeOf((*MockGoodRepository)(nil).UpdateGood), arg0, arg1)
}

// UpdateGoods mocks base method.
func (m *MockGoodRepository) UpdateGoods(arg0 context.Context, arg1 []barter.Good) ([]barter.Good, common.Error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpdateGoods", arg0, arg1)
	ret0, _ := ret[0].([]barter.Good)
	ret1, _ := ret[1].(common.Error)
	return ret0, ret1
}

// UpdateGoods indicates an expected call of UpdateGoods.
func (mr *MockGoodRepositoryMockRecorder) UpdateGoods(arg0, arg1 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateGoods", reflect.TypeOf((*MockGoodRepository)(nil).UpdateGoods), arg0, arg1)
}
