// Code generated by MockGen. DO NOT EDIT.
// Source: ./internel/dao/project/project.go

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

import (
	context "context"
	reflect "reflect"

	gomock "github.com/golang/mock/gomock"
	entity "github.com/tidbcloud/account/internel/dao/entity"
	gorm "gorm.io/gorm"
)

// MockProjectDaoIface is a mock of ProjectDaoIface interface.
type MockProjectDaoIface struct {
	ctrl     *gomock.Controller
	recorder *MockProjectDaoIfaceMockRecorder
}

// MockProjectDaoIfaceMockRecorder is the mock recorder for MockProjectDaoIface.
type MockProjectDaoIfaceMockRecorder struct {
	mock *MockProjectDaoIface
}

// NewMockProjectDaoIface creates a new mock instance.
func NewMockProjectDaoIface(ctrl *gomock.Controller) *MockProjectDaoIface {
	mock := &MockProjectDaoIface{ctrl: ctrl}
	mock.recorder = &MockProjectDaoIfaceMockRecorder{mock}
	return mock
}

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

// CreateProject mocks base method.
func (m *MockProjectDaoIface) CreateProject(ctx context.Context, tx *gorm.DB, req CreateProjectReq) (*entity.Project, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateProject", ctx, tx, req)
	ret0, _ := ret[0].(*entity.Project)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CreateProject indicates an expected call of CreateProject.
func (mr *MockProjectDaoIfaceMockRecorder) CreateProject(ctx, tx, req interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateProject", reflect.TypeOf((*MockProjectDaoIface)(nil).CreateProject), ctx, tx, req)
}

// GetProjectByID mocks base method.
func (m *MockProjectDaoIface) GetProjectByID(ctx context.Context, tx *gorm.DB, projectID uint64) (*entity.Project, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetProjectByID", ctx, tx, projectID)
	ret0, _ := ret[0].(*entity.Project)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetProjectByID indicates an expected call of GetProjectByID.
func (mr *MockProjectDaoIfaceMockRecorder) GetProjectByID(ctx, tx, projectID interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetProjectByID", reflect.TypeOf((*MockProjectDaoIface)(nil).GetProjectByID), ctx, tx, projectID)
}

// ListActiveProjectsByOrgID mocks base method.
func (m *MockProjectDaoIface) ListActiveProjectsByOrgID(ctx context.Context, tx *gorm.DB, orgID uint64) ([]entity.Project, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListActiveProjectsByOrgID", ctx, tx, orgID)
	ret0, _ := ret[0].([]entity.Project)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ListActiveProjectsByOrgID indicates an expected call of ListActiveProjectsByOrgID.
func (mr *MockProjectDaoIfaceMockRecorder) ListActiveProjectsByOrgID(ctx, tx, orgID interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListActiveProjectsByOrgID", reflect.TypeOf((*MockProjectDaoIface)(nil).ListActiveProjectsByOrgID), ctx, tx, orgID)
}

// ListProjects mocks base method.
func (m *MockProjectDaoIface) ListProjects(ctx context.Context, tx *gorm.DB, orgIDs, projectIDs []uint64, status []string) ([]entity.Project, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListProjects", ctx, tx, orgIDs, projectIDs, status)
	ret0, _ := ret[0].([]entity.Project)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ListProjects indicates an expected call of ListProjects.
func (mr *MockProjectDaoIfaceMockRecorder) ListProjects(ctx, tx, orgIDs, projectIDs, status interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListProjects", reflect.TypeOf((*MockProjectDaoIface)(nil).ListProjects), ctx, tx, orgIDs, projectIDs, status)
}

// MarkProjectAsDeletedByID mocks base method.
func (m *MockProjectDaoIface) MarkProjectAsDeletedByID(ctx context.Context, tx *gorm.DB, projectID uint64) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "MarkProjectAsDeletedByID", ctx, tx, projectID)
	ret0, _ := ret[0].(error)
	return ret0
}

// MarkProjectAsDeletedByID indicates an expected call of MarkProjectAsDeletedByID.
func (mr *MockProjectDaoIfaceMockRecorder) MarkProjectAsDeletedByID(ctx, tx, projectID interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "MarkProjectAsDeletedByID", reflect.TypeOf((*MockProjectDaoIface)(nil).MarkProjectAsDeletedByID), ctx, tx, projectID)
}

// UpdateProjectByID mocks base method.
func (m *MockProjectDaoIface) UpdateProjectByID(ctx context.Context, tx *gorm.DB, project *entity.Project) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpdateProjectByID", ctx, tx, project)
	ret0, _ := ret[0].(error)
	return ret0
}

// UpdateProjectByID indicates an expected call of UpdateProjectByID.
func (mr *MockProjectDaoIfaceMockRecorder) UpdateProjectByID(ctx, tx, project interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateProjectByID", reflect.TypeOf((*MockProjectDaoIface)(nil).UpdateProjectByID), ctx, tx, project)
}
