110 lines
2.2 KiB
Go
110 lines
2.2 KiB
Go
package mocks
|
|
|
|
import (
|
|
"strings"
|
|
"time"
|
|
|
|
"github.com/go-pg/pg/v10/orm"
|
|
|
|
"fiskerinc.com/modules/common"
|
|
"fiskerinc.com/modules/db/queries"
|
|
"fiskerinc.com/modules/validator"
|
|
)
|
|
|
|
type MockIssue struct {
|
|
SelectIssuesResponse []common.Issue
|
|
DBMockHelper
|
|
}
|
|
|
|
func (c *MockIssue) Insert(issue *common.Issue) (orm.Result, error) {
|
|
return c.ORMResponse, c.Error
|
|
}
|
|
|
|
func (c *MockIssue) Delete(id int) (orm.Result, error) {
|
|
if id <= 0 {
|
|
return nil, &validator.FieldError{
|
|
ErrorMsg: "id cannot be less than 0",
|
|
}
|
|
}
|
|
return c.ORMResponse, c.Error
|
|
}
|
|
|
|
func (c *MockIssue) SelectByID(id int) (*common.Issue, error) {
|
|
if id <= 0 {
|
|
return nil, &validator.FieldError{
|
|
ErrorMsg: "id cannot be less than 0",
|
|
}
|
|
}
|
|
|
|
issueImage := []common.IssueImage{
|
|
{
|
|
ID: 1,
|
|
Image: []byte{},
|
|
IssueID: 1,
|
|
},
|
|
}
|
|
return &common.Issue{
|
|
ID: 1,
|
|
VIN: "",
|
|
Title: "",
|
|
Description: "",
|
|
DriverID: "",
|
|
Timestamp: time.Time{},
|
|
IssueImages: issueImage,
|
|
}, nil
|
|
}
|
|
|
|
func (c *MockIssue) Search(filter *common.IssueSearch, paging *queries.PageQueryOptions) ([]common.Issue, error) {
|
|
if c.SelectIssuesResponse != nil {
|
|
if filter.Search != "" && strings.Contains(c.SelectIssuesResponse[0].Title, filter.Search) {
|
|
return []common.Issue{c.SelectIssuesResponse[0]}, nil
|
|
}
|
|
|
|
return c.SelectIssuesResponse, nil
|
|
}
|
|
|
|
return []common.Issue{
|
|
{
|
|
ID: 1,
|
|
VIN: "",
|
|
Title: "",
|
|
Description: "",
|
|
DriverID: "",
|
|
Timestamp: time.Time{},
|
|
IssueImages: []common.IssueImage{},
|
|
},
|
|
}, nil
|
|
}
|
|
|
|
func (c *MockIssue) Count() (int, error) {
|
|
return 1, nil
|
|
}
|
|
|
|
func (c *MockIssue) SetListResp(list interface{}) {
|
|
if list != nil {
|
|
c.SelectIssuesResponse = list.([]common.Issue)
|
|
} else {
|
|
c.SelectIssuesResponse = nil
|
|
}
|
|
}
|
|
|
|
type MockIssueImages struct {
|
|
queries.QueryBase
|
|
SearchByIssueIDResponse []common.IssueImage
|
|
DBMockHelper
|
|
}
|
|
|
|
func (c *MockIssueImages) Insert(issueImage *[]common.IssueImage) (orm.Result, error) {
|
|
return c.ORMResponse, c.Error
|
|
}
|
|
|
|
func (c *MockIssueImages) SearchByIssueID(issueID string) ([]common.IssueImage, error) {
|
|
return []common.IssueImage{
|
|
{
|
|
ID: 1,
|
|
Image: []byte{0, 1, 0},
|
|
IssueID: 1,
|
|
},
|
|
}, nil
|
|
}
|