// Code generated by MockGen. DO NOT EDIT.
// Source: ./central/model/util/notification.go

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

import (
	context "context"
	reflect "reflect"

	gomock "github.com/golang/mock/gomock"
	entity "github.com/pingcap/dbaas/central/db/entity"
	gorm "gorm.io/gorm"
)

// MockNotificationManager is a mock of NotificationManager interface.
type MockNotificationManager struct {
	ctrl     *gomock.Controller
	recorder *MockNotificationManagerMockRecorder
}

// MockNotificationManagerMockRecorder is the mock recorder for MockNotificationManager.
type MockNotificationManagerMockRecorder struct {
	mock *MockNotificationManager
}

// NewMockNotificationManager creates a new mock instance.
func NewMockNotificationManager(ctrl *gomock.Controller) *MockNotificationManager {
	mock := &MockNotificationManager{ctrl: ctrl}
	mock.recorder = &MockNotificationManagerMockRecorder{mock}
	return mock
}

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

// ClearNotificationIdentifier mocks base method.
func (m *MockNotificationManager) ClearNotificationIdentifier(ctx context.Context, tx *gorm.DB, tenantID entity.ID, scene entity.NotificationScene, identifier string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ClearNotificationIdentifier", ctx, tx, tenantID, scene, identifier)
	ret0, _ := ret[0].(error)
	return ret0
}

// ClearNotificationIdentifier indicates an expected call of ClearNotificationIdentifier.
func (mr *MockNotificationManagerMockRecorder) ClearNotificationIdentifier(ctx, tx, tenantID, scene, identifier interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ClearNotificationIdentifier", reflect.TypeOf((*MockNotificationManager)(nil).ClearNotificationIdentifier), ctx, tx, tenantID, scene, identifier)
}

// FillNotificationIdentifier mocks base method.
func (m *MockNotificationManager) FillNotificationIdentifier(ctx context.Context, tx *gorm.DB, tenantID entity.ID, scene entity.NotificationScene, identifier string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "FillNotificationIdentifier", ctx, tx, tenantID, scene, identifier)
	ret0, _ := ret[0].(error)
	return ret0
}

// FillNotificationIdentifier indicates an expected call of FillNotificationIdentifier.
func (mr *MockNotificationManagerMockRecorder) FillNotificationIdentifier(ctx, tx, tenantID, scene, identifier interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FillNotificationIdentifier", reflect.TypeOf((*MockNotificationManager)(nil).FillNotificationIdentifier), ctx, tx, tenantID, scene, identifier)
}

// SendNotificationOnce mocks base method.
func (m *MockNotificationManager) SendNotificationOnce(ctx context.Context, tx *gorm.DB, tenantID entity.ID, scene entity.NotificationScene, identifier string, fn func() error) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SendNotificationOnce", ctx, tx, tenantID, scene, identifier, fn)
	ret0, _ := ret[0].(error)
	return ret0
}

// SendNotificationOnce indicates an expected call of SendNotificationOnce.
func (mr *MockNotificationManagerMockRecorder) SendNotificationOnce(ctx, tx, tenantID, scene, identifier, fn interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendNotificationOnce", reflect.TypeOf((*MockNotificationManager)(nil).SendNotificationOnce), ctx, tx, tenantID, scene, identifier, fn)
}
