Skip to content
This repository has been archived by the owner on Oct 21, 2024. It is now read-only.

Commit

Permalink
feat(SPV-778): adds mock responding with nills for QueryTransacion (#100
Browse files Browse the repository at this point in the history
)
  • Loading branch information
jakubmkowalski authored Jun 19, 2024
1 parent b22267e commit c8e052b
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 0 deletions.
3 changes: 3 additions & 0 deletions broadcast/broadcast-client-mock/mock_client_builder.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ const (
MockSuccess MockType = iota
MockFailure
MockTimeout
MockNilQueryTxResp
)

type builder struct {
Expand All @@ -40,6 +41,8 @@ func (cb *builder) WithMockArc(mockType MockType) *builder {
clientToReturn = mocks.NewArcClientMockFailure()
case MockTimeout:
clientToReturn = mocks.NewArcClientMockTimeout()
case MockNilQueryTxResp:
clientToReturn = mocks.NewArcClientMockNilQueryTxResp()
default:
clientToReturn = mocks.NewArcClientMock()
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
package mocks

import (
"context"

broadcast_api "github.com/bitcoin-sv/go-broadcast-client/broadcast"
"github.com/bitcoin-sv/go-broadcast-client/broadcast/broadcast-client-mock/fixtures"
)

type ArcClientMockNilQueryTxResp struct{}

// GetFeeQuote returns a successful FeeQuote response.
func (*ArcClientMockNilQueryTxResp) GetFeeQuote(ctx context.Context) ([]*broadcast_api.FeeQuote, error) {
quotes := []*broadcast_api.FeeQuote{Fee1, Fee2}
return quotes, nil
}

// GetPolicyQuote return a successful PolicyQuoteResponse.
func (*ArcClientMockNilQueryTxResp) GetPolicyQuote(ctx context.Context) ([]*broadcast_api.PolicyQuoteResponse, error) {
policies := []*broadcast_api.PolicyQuoteResponse{Policy1, Policy2}
return policies, nil
}

// QueryTransaction returns a successful QueryTxResponse.
func (*ArcClientMockNilQueryTxResp) QueryTransaction(ctx context.Context, txID string) (*broadcast_api.QueryTxResponse, error) {
return nil, nil
}

// SubmitTransaction returns a successful SubmitTxResponse.
func (*ArcClientMockNilQueryTxResp) SubmitTransaction(ctx context.Context, tx *broadcast_api.Transaction, opts ...broadcast_api.TransactionOptFunc) (*broadcast_api.SubmitTxResponse, error) {
return &broadcast_api.SubmitTxResponse{
BaseResponse: broadcast_api.BaseResponse{Miner: fixtures.ProviderMain},
SubmittedTx: SubmittedTx,
}, nil
}

// SubmitBatchTransactions returns a successful SubmitBatchTxResponse.
func (*ArcClientMockNilQueryTxResp) SubmitBatchTransactions(ctx context.Context, tx []*broadcast_api.Transaction, opts ...broadcast_api.TransactionOptFunc) (*broadcast_api.SubmitBatchTxResponse, error) {
return &broadcast_api.SubmitBatchTxResponse{
BaseResponse: broadcast_api.BaseResponse{Miner: fixtures.ProviderMain},
Transactions: []*broadcast_api.SubmittedTx{
SubmittedTx,
SubmittedTxSecondary,
},
}, nil
}

func NewArcClientMockNilQueryTxResp() broadcast_api.Client {
return &ArcClientMockNilQueryTxResp{}
}

0 comments on commit c8e052b

Please sign in to comment.