// Code generated by MockGen. DO NOT EDIT.
// Source: account.go
//
// Generated by this command:
//
//	mockgen -source=account.go -destination=account_mock.go -package=repoiface AccountRepository
//

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

import (
	context "context"
	reflect "reflect"

	models "github.com/cloudzenith/DouTok/backend/baseService/internal/infrastructure/dal/models"
	gomock "go.uber.org/mock/gomock"
)

// MockAccountRepository is a mock of AccountRepository interface.
type MockAccountRepository struct {
	ctrl     *gomock.Controller
	recorder *MockAccountRepositoryMockRecorder
}

// MockAccountRepositoryMockRecorder is the mock recorder for MockAccountRepository.
type MockAccountRepositoryMockRecorder struct {
	mock *MockAccountRepository
}

// NewMockAccountRepository creates a new mock instance.
func NewMockAccountRepository(ctrl *gomock.Controller) *MockAccountRepository {
	mock := &MockAccountRepository{ctrl: ctrl}
	mock.recorder = &MockAccountRepositoryMockRecorder{mock}
	return mock
}

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

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

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

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

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

// GetById mocks base method.
func (m *MockAccountRepository) GetById(ctx context.Context, id int64) (*models.Account, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetById", ctx, id)
	ret0, _ := ret[0].(*models.Account)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

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

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

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

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

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

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

// ModifyPassword mocks base method.
func (m *MockAccountRepository) ModifyPassword(ctx context.Context, account *models.Account) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ModifyPassword", ctx, account)
	ret0, _ := ret[0].(error)
	return ret0
}

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