Bootstrap copied BFF and local accounts with public Sendico contracts (#34)

This commit is contained in:
Stephan D committed 2026-09-12 13:37:48 +02:00
1 parent 67dc5b5b1e
commit 7062672a87
556 files changed
+42291 -777

No files matched your search

+48
View File
@@ -0,0 +1,48 @@
package merrors
import (
"errors"
"testing"
"github.com/stretchr/testify/require"
)
func TestLedgerReasonRoundTrip(t *testing.T) {
err := LedgerIdempotencyConflict("conflicting command")
reason, ok := Reason(err)
require.True(t, ok)
require.Equal(t, ReasonLedgerIdempotencyConflict, reason)
restored, ok := FromReason(reason, "conflicting command")
require.True(t, ok)
require.True(t, errors.Is(restored, ErrLedgerIdempotencyConflict))
require.True(t, errors.Is(restored, ErrDataConflict))
}
func TestAccountNotEligibleReasonRoundTrip(t *testing.T) {
err := AccountNotEligible("account is frozen")
reason, ok := Reason(err)
require.True(t, ok)
require.Equal(t, ReasonAccountNotEligible, reason)
require.True(t, errors.Is(err, ErrAccountNotEligible))
require.True(t, errors.Is(err, ErrFailedPrecondition))
restored, ok := FromReason(reason, "account is frozen")
require.True(t, ok)
require.True(t, errors.Is(restored, ErrAccountNotEligible))
require.True(t, errors.Is(restored, ErrFailedPrecondition))
}
func TestLedgerAccessViolationReasonRoundTrip(t *testing.T) {
err := LedgerAccessViolation("from_account: account does not belong to organization")
reason, ok := Reason(err)
require.True(t, ok)
require.Equal(t, ReasonLedgerAccessViolation, reason)
require.True(t, errors.Is(err, ErrLedgerAccessViolation))
require.True(t, errors.Is(err, ErrFailedPrecondition))
restored, ok := FromReason(reason, "from_account: account does not belong to organization")
require.True(t, ok)
require.True(t, errors.Is(restored, ErrLedgerAccessViolation))
require.True(t, errors.Is(restored, ErrFailedPrecondition))
}