Example Mock Class
package mock import ( "credential-management/src/internal/dao" internalErrors "credential-management/src/internal/error" "credential-management/src/internal/model" "github.com/stretchr/testify/mock" ) type MockDaoClient struct { mock.Mock } type MockTransaction struct { mock.Mock } func (m *MockDaoClient) Connect() error { args := m.Called() return args.Error(0) } func (m *MockDaoClient) Disconnect() error { args := m.Called() return args.Error(0) } func (m *MockDaoClient) NewTransaction() (dao.Transaction, error) { args := m.Called() return new(MockTransaction), args.Error(0) } func (m *MockDaoClient) InsertLookup(tr dao.Transaction, credentialLookup *model.CredentialLookup) *internalErrors.CredentialError { args := m.Called(tr, credentialLookup) return ConvertCredError(args.Get(0)) } func (m *MockDaoClient) UpdateLookup(tr dao.Transaction, credentialLookup *model.CredentialLookup) *internalErrors.CredentialError { args := m.Called(tr, credentialLookup) return ConvertCredError(args.Get(0)) } func (m *MockDaoClient) GetLookupById(tr dao.Transaction, id string) (*model.CredentialLookup, *internalErrors.CredentialError) { args := m.Called(tr, id) return args.Get(0).(*model.CredentialLookup), ConvertCredError(args.Get(1)) } func (m *MockDaoClient) GetLookup(tr dao.Transaction, searchCriteria map[string]interface{}, pageInfo *dao.PageInfo) ([]*model.CredentialLookup, *internalErrors.CredentialError) { args := m.Called(tr, searchCriteria) return args.Get(0).([]*model.CredentialLookup), ConvertCredError(args.Get(1)) } func (m *MockDaoClient) GetLookupCount(tr dao.Transaction, searchCriteria map[string]interface{}) (int64, *internalErrors.CredentialError) { args := m.Called(tr, searchCriteria) return int64(args.Get(0).(int)), ConvertCredError(args.Get(1)) } func (m *MockDaoClient) DeleteLookup(tr dao.Transaction, id string) *internalErrors.CredentialError { args := m.Called(tr, id) return ConvertCredError(args.Get(0)) } func (tr *MockTransaction) Commit() error { return nil } func (tr *MockTransaction) Abort() error { return nil } func ConvertCredError(arg interface{}) *internalErrors.CredentialError { if e, ok := arg.(*internalErrors.CredentialError); ok { return e } return nil }