forked from ebhomengo/niki
66 lines
1.4 KiB
Go
66 lines
1.4 KiB
Go
|
package benefactorkindboxreqmock
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
"fmt"
|
||
|
"time"
|
||
|
|
||
|
"git.gocasts.ir/ebhomengo/niki/entity"
|
||
|
)
|
||
|
|
||
|
const RepoErr = "repository error"
|
||
|
|
||
|
type DefaultKindBoxReqTest struct {
|
||
|
BenefactorID uint
|
||
|
TypeID entity.KindBoxType
|
||
|
AddressID uint
|
||
|
ReferDate time.Time
|
||
|
CountRequested uint
|
||
|
}
|
||
|
|
||
|
func DefaultKindBoxReq() DefaultKindBoxReqTest {
|
||
|
return DefaultKindBoxReqTest{
|
||
|
BenefactorID: 1,
|
||
|
TypeID: 1,
|
||
|
AddressID: 1,
|
||
|
ReferDate: time.Now(),
|
||
|
CountRequested: 1,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
type MockRepository struct {
|
||
|
kindBoxReqs []entity.KindBoxReq
|
||
|
hasErr bool
|
||
|
}
|
||
|
|
||
|
func NewMockRepository(hasErr bool) *MockRepository {
|
||
|
var kindBoxReqs []entity.KindBoxReq
|
||
|
DefaultKindBoxReq := DefaultKindBoxReq()
|
||
|
|
||
|
kindBoxReqs = append(kindBoxReqs, entity.KindBoxReq{
|
||
|
BenefactorID: DefaultKindBoxReq.BenefactorID,
|
||
|
AddressID: DefaultKindBoxReq.AddressID,
|
||
|
KindBoxType: DefaultKindBoxReq.TypeID,
|
||
|
ReferDate: DefaultKindBoxReq.ReferDate,
|
||
|
CountRequested: DefaultKindBoxReq.CountRequested,
|
||
|
Status: entity.KindBoxReqPendingStatus,
|
||
|
})
|
||
|
|
||
|
return &MockRepository{
|
||
|
kindBoxReqs: kindBoxReqs,
|
||
|
hasErr: hasErr,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
//nolint
|
||
|
func (m *MockRepository) AddKindBoxReq(ctx context.Context, kindBoxReq entity.KindBoxReq) (entity.KindBoxReq, error) {
|
||
|
if m.hasErr {
|
||
|
return entity.KindBoxReq{}, fmt.Errorf(RepoErr)
|
||
|
}
|
||
|
|
||
|
kindBoxReq.ID = 1
|
||
|
m.kindBoxReqs = append(m.kindBoxReqs, kindBoxReq)
|
||
|
|
||
|
return kindBoxReq, nil
|
||
|
}
|