outbox for gateways
This commit is contained in:
@@ -12,6 +12,7 @@ import (
|
||||
"github.com/tech/sendico/ledger/storage"
|
||||
"github.com/tech/sendico/ledger/storage/model"
|
||||
"github.com/tech/sendico/pkg/merrors"
|
||||
me "github.com/tech/sendico/pkg/messaging/envelope"
|
||||
pmodel "github.com/tech/sendico/pkg/model"
|
||||
"github.com/tech/sendico/pkg/model/account_role"
|
||||
"go.mongodb.org/mongo-driver/v2/bson"
|
||||
@@ -278,11 +279,20 @@ func TestEnqueueOutbox_CreatesEvent(t *testing.T) {
|
||||
require.NoError(t, service.enqueueOutbox(ctx, entry, lines))
|
||||
require.Len(t, producer.created, 1)
|
||||
event := producer.created[0]
|
||||
assert.Equal(t, entryID.Hex(), event.EventID)
|
||||
assert.Equal(t, ledgerOutboxSubject, event.Subject)
|
||||
assert.Equal(t, "ledger_outbox_sent", event.Subject)
|
||||
|
||||
envelope, err := me.Deserialize(event.Payload)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, outboxPublisherSender, envelope.GetSender())
|
||||
assert.Equal(t, "ledger_outbox_sent", envelope.GetSignature().ToString())
|
||||
|
||||
var wrapped ledgerOutboxMessage
|
||||
require.NoError(t, json.Unmarshal(envelope.GetData(), &wrapped))
|
||||
assert.Equal(t, entryID.Hex(), wrapped.EventID)
|
||||
assert.Equal(t, ledgerOutboxSubject, wrapped.Subject)
|
||||
|
||||
var payload outboxJournalPayload
|
||||
require.NoError(t, json.Unmarshal(event.Payload, &payload))
|
||||
require.NoError(t, json.Unmarshal(wrapped.Payload, &payload))
|
||||
assert.Equal(t, entryID.Hex(), payload.JournalEntryRef)
|
||||
assert.Equal(t, "credit", payload.EntryType)
|
||||
assert.Len(t, payload.Lines, 1)
|
||||
|
||||
Reference in New Issue
Block a user