// Code generated by MockGen. DO NOT EDIT.
// Source: outbox_message.go
//
// Generated by this command:
//
//	mockgen -source=outbox_message.go -destination=../../mocks/model_outbox_message.go -package=mocks
//

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

import (
	context "context"
	sql "database/sql"
	reflect "reflect"

	model "github.com/kweaver-ai/adp/execution-factory/operator-integration/server/interfaces/model"
	gomock "go.uber.org/mock/gomock"
)

// MockIOutboxMessage is a mock of IOutboxMessage interface.
type MockIOutboxMessage struct {
	ctrl     *gomock.Controller
	recorder *MockIOutboxMessageMockRecorder
	isgomock struct{}
}

// MockIOutboxMessageMockRecorder is the mock recorder for MockIOutboxMessage.
type MockIOutboxMessageMockRecorder struct {
	mock *MockIOutboxMessage
}

// NewMockIOutboxMessage creates a new mock instance.
func NewMockIOutboxMessage(ctrl *gomock.Controller) *MockIOutboxMessage {
	mock := &MockIOutboxMessage{ctrl: ctrl}
	mock.recorder = &MockIOutboxMessageMockRecorder{mock}
	return mock
}

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

// DeleteByEventID mocks base method.
func (m *MockIOutboxMessage) DeleteByEventID(ctx context.Context, tx *sql.Tx, eventID string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteByEventID", ctx, tx, eventID)
	ret0, _ := ret[0].(error)
	return ret0
}

// DeleteByEventID indicates an expected call of DeleteByEventID.
func (mr *MockIOutboxMessageMockRecorder) DeleteByEventID(ctx, tx, eventID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteByEventID", reflect.TypeOf((*MockIOutboxMessage)(nil).DeleteByEventID), ctx, tx, eventID)
}

// GetByStatus mocks base method.
func (m *MockIOutboxMessage) GetByStatus(ctx context.Context, status string, limit int) ([]*model.OutboxMessageDB, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetByStatus", ctx, status, limit)
	ret0, _ := ret[0].([]*model.OutboxMessageDB)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetByStatus indicates an expected call of GetByStatus.
func (mr *MockIOutboxMessageMockRecorder) GetByStatus(ctx, status, limit any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetByStatus", reflect.TypeOf((*MockIOutboxMessage)(nil).GetByStatus), ctx, status, limit)
}

// Insert mocks base method.
func (m *MockIOutboxMessage) Insert(ctx context.Context, tx *sql.Tx, message *model.OutboxMessageDB) (string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Insert", ctx, tx, message)
	ret0, _ := ret[0].(string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Insert indicates an expected call of Insert.
func (mr *MockIOutboxMessageMockRecorder) Insert(ctx, tx, message any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockIOutboxMessage)(nil).Insert), ctx, tx, message)
}

// UpdateByEventID mocks base method.
func (m *MockIOutboxMessage) UpdateByEventID(ctx context.Context, tx *sql.Tx, message *model.OutboxMessageDB) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpdateByEventID", ctx, tx, message)
	ret0, _ := ret[0].(error)
	return ret0
}

// UpdateByEventID indicates an expected call of UpdateByEventID.
func (mr *MockIOutboxMessageMockRecorder) UpdateByEventID(ctx, tx, message any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateByEventID", reflect.TypeOf((*MockIOutboxMessage)(nil).UpdateByEventID), ctx, tx, message)
}
