diff --git a/internal/usecases/convertquery/mock/mockconvertquery.go b/internal/usecases/convertquery/mock/mockconvertquery.go index 7e470f87cc3cd2de06372e56736d6560d49c22c1..f30767469f7a592d114bca3bebe69b32d61c8ebc 100644 --- a/internal/usecases/convertquery/mock/mockconvertquery.go +++ b/internal/usecases/convertquery/mock/mockconvertquery.go @@ -1,16 +1,30 @@ package mockconvertquery +import "errors" + // A Service implements the query convert usecase interface (mock) type Service struct { + throwError bool } // NewService creates a new query convert service (mock) func NewService() *Service { - return &Service{} + return &Service{ + throwError: false, + } } // ConvertQuery returns a hard coded string message (mock) func (s *Service) ConvertQuery(jsonMsg *[]byte) (*string, error) { mockQuery := "Query converted" - return &mockQuery, nil + + if !s.throwError { + return &mockQuery, nil + } + return nil, errors.New("Failed to convert query") +} + +// ToggleError decides whether the convert function throws an error +func (s *Service) ToggleError() { + s.throwError = !s.throwError }