45 lines
1.4 KiB
Go
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())
|
|
}
|