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

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

import (
	context "context"
	models "github.com/AleksK1NG/email-microservice/internal/models"
	gomock "github.com/golang/mock/gomock"
	reflect "reflect"
)

// MockMailer is a mock of Mailer interface
type MockMailer struct {
	ctrl     *gomock.Controller
	recorder *MockMailerMockRecorder
}

// MockMailerMockRecorder is the mock recorder for MockMailer
type MockMailerMockRecorder struct {
	mock *MockMailer
}

// NewMockMailer creates a new mock instance
func NewMockMailer(ctrl *gomock.Controller) *MockMailer {
	mock := &MockMailer{ctrl: ctrl}
	mock.recorder = &MockMailerMockRecorder{mock}
	return mock
}

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

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

// Send indicates an expected call of Send
func (mr *MockMailerMockRecorder) Send(ctx, email interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Send", reflect.TypeOf((*MockMailer)(nil).Send), ctx, email)
}
