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()) }