79 lines
1.9 KiB
Go
79 lines
1.9 KiB
Go
package mocks
|
|
|
|
import (
|
|
"github.com/fiskerinc/cloud-services/pkg/common"
|
|
"github.com/fiskerinc/cloud-services/pkg/db/queries"
|
|
|
|
"github.com/go-pg/pg/v10/orm"
|
|
"github.com/google/uuid"
|
|
)
|
|
|
|
type MockSubscriptionFeatures struct {
|
|
ListResult []common.SubscriptionFeature
|
|
LoadResult *common.SubscriptionFeature
|
|
DBMockHelper
|
|
}
|
|
|
|
func (m *MockSubscriptionFeatures) SetListResp(list interface{}) {
|
|
if list != nil {
|
|
m.ListResult = list.([]common.SubscriptionFeature)
|
|
} else {
|
|
m.ListResult = nil
|
|
}
|
|
}
|
|
|
|
func (m *MockSubscriptionFeatures) SetLoadResp(item interface{}) {
|
|
if item != nil {
|
|
m.LoadResult = item.(*common.SubscriptionFeature)
|
|
} else {
|
|
m.LoadResult = nil
|
|
}
|
|
}
|
|
|
|
func (m *MockSubscriptionFeatures) Delete(model *common.SubscriptionFeature) (orm.Result, error) {
|
|
return m.ORMResponse, m.Error
|
|
}
|
|
|
|
func (m *MockSubscriptionFeatures) Insert(model *common.SubscriptionFeature) (orm.Result, error) {
|
|
if m.Error != nil {
|
|
return nil, m.Error
|
|
}
|
|
|
|
model.ID = uuid.MustParse("ecfb89e0-ca03-4aa9-a43a-a9d703256edb")
|
|
|
|
return m.ORMResponse, nil
|
|
}
|
|
|
|
func (m *MockSubscriptionFeatures) Update(model *common.SubscriptionFeature) (orm.Result, error) {
|
|
return m.ORMResponse, m.Error
|
|
}
|
|
|
|
func (m *MockSubscriptionFeatures) Count(filter *common.SubscriptionFeature) (int, error) {
|
|
return len(m.ListResult), m.Error
|
|
}
|
|
|
|
func (m *MockSubscriptionFeatures) Select(filter *common.SubscriptionFeature, paging *queries.PageQueryOptions) ([]common.SubscriptionFeature, error) {
|
|
m.LastFilter = filter
|
|
m.LastPaging = paging
|
|
|
|
return m.ListResult, m.Error
|
|
}
|
|
|
|
func (m *MockSubscriptionFeatures) Load(model *common.SubscriptionFeature) error {
|
|
filter := *model
|
|
m.LastFilter = &filter
|
|
|
|
if m.Error != nil {
|
|
return m.Error
|
|
}
|
|
|
|
if m.LoadResult != nil {
|
|
model.ID = m.LoadResult.ID
|
|
model.Name = m.LoadResult.Name
|
|
model.Description = m.LoadResult.Description
|
|
model.Configurations = m.LoadResult.Configurations
|
|
}
|
|
|
|
return nil
|
|
}
|