Files
sxchnge/backend/pkg/merrors/quotation_test.go
T

45 lines
1.4 KiB
Go

package merrors
import (
"errors"
"testing"
"github.com/stretchr/testify/require"
)
func TestQuotationFeeConfigurationMissingReasonRoundTrip(t *testing.T) {
err := QuotationFeeConfigurationMissing()
require.True(t, errors.Is(err, ErrFailedPrecondition))
require.True(t, errors.Is(err, ErrQuotationFeeConfigurationMissing))
reason, ok := Reason(err)
require.True(t, ok)
require.Equal(t, QuotationFeeConfigurationMissingCode, reason)
require.Equal(t, QuotationFeeConfigurationMissingDetails, err.Error())
restored, ok := FromReason(reason, "ignored message")
require.True(t, ok)
require.True(t, errors.Is(restored, ErrFailedPrecondition))
require.True(t, errors.Is(restored, ErrQuotationFeeConfigurationMissing))
require.Equal(t, QuotationFeeConfigurationMissingDetails, restored.Error())
}
func TestQuotationReplayMissingReasonRoundTrip(t *testing.T) {
err := QuotationReplayMissing()
require.True(t, errors.Is(err, ErrNoData))
require.True(t, errors.Is(err, ErrQuotationReplayMissing))
reason, ok := Reason(err)
require.True(t, ok)
require.Equal(t, QuotationReplayMissingCode, reason)
require.Equal(t, QuotationReplayMissingDetails, err.Error())
restored, ok := FromReason(reason, "ignored message")
require.True(t, ok)
require.True(t, errors.Is(restored, ErrNoData))
require.True(t, errors.Is(restored, ErrQuotationReplayMissing))
require.Equal(t, QuotationReplayMissingDetails, restored.Error())
}