You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

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
}


  • No labels