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

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

import (
	context "context"
	reflect "reflect"

	gomock "go.uber.org/mock/gomock"

	domain "github.com/bucketeer-io/bucketeer/v2/pkg/feature/domain"
)

// MockFeatureLastUsedInfoStorage is a mock of FeatureLastUsedInfoStorage interface.
type MockFeatureLastUsedInfoStorage struct {
	ctrl     *gomock.Controller
	recorder *MockFeatureLastUsedInfoStorageMockRecorder
}

// MockFeatureLastUsedInfoStorageMockRecorder is the mock recorder for MockFeatureLastUsedInfoStorage.
type MockFeatureLastUsedInfoStorageMockRecorder struct {
	mock *MockFeatureLastUsedInfoStorage
}

// NewMockFeatureLastUsedInfoStorage creates a new mock instance.
func NewMockFeatureLastUsedInfoStorage(ctrl *gomock.Controller) *MockFeatureLastUsedInfoStorage {
	mock := &MockFeatureLastUsedInfoStorage{ctrl: ctrl}
	mock.recorder = &MockFeatureLastUsedInfoStorageMockRecorder{mock}
	return mock
}

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

// GetFeatureLastUsedInfos mocks base method.
func (m *MockFeatureLastUsedInfoStorage) GetFeatureLastUsedInfos(ctx context.Context, ids []string, environmentId string) ([]*domain.FeatureLastUsedInfo, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetFeatureLastUsedInfos", ctx, ids, environmentId)
	ret0, _ := ret[0].([]*domain.FeatureLastUsedInfo)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetFeatureLastUsedInfos indicates an expected call of GetFeatureLastUsedInfos.
func (mr *MockFeatureLastUsedInfoStorageMockRecorder) GetFeatureLastUsedInfos(ctx, ids, environmentId any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetFeatureLastUsedInfos", reflect.TypeOf((*MockFeatureLastUsedInfoStorage)(nil).GetFeatureLastUsedInfos), ctx, ids, environmentId)
}

// UpsertFeatureLastUsedInfo mocks base method.
func (m *MockFeatureLastUsedInfoStorage) UpsertFeatureLastUsedInfo(ctx context.Context, featureLastUsedInfos *domain.FeatureLastUsedInfo, environmentId string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpsertFeatureLastUsedInfo", ctx, featureLastUsedInfos, environmentId)
	ret0, _ := ret[0].(error)
	return ret0
}

// UpsertFeatureLastUsedInfo indicates an expected call of UpsertFeatureLastUsedInfo.
func (mr *MockFeatureLastUsedInfoStorageMockRecorder) UpsertFeatureLastUsedInfo(ctx, featureLastUsedInfos, environmentId any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpsertFeatureLastUsedInfo", reflect.TypeOf((*MockFeatureLastUsedInfoStorage)(nil).UpsertFeatureLastUsedInfo), ctx, featureLastUsedInfos, environmentId)
}
