MCPcopy Create free account
hub / github.com/devaccuracy/ledgerforge / TestToTransaction

Function TestToTransaction

api/model/model_test.go:386–430  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

384}
385
386func TestToTransaction(t *testing.T) {
387 now := time.Now()
388 scheduledFor := now.Add(24 * time.Hour)
389 inflightExpiryDate := now.Add(48 * time.Hour)
390 inflightCommitDate := now.Add(72 * time.Hour)
391
392 recordTransaction := RecordTransaction{
393 Currency: "USD",
394 Source: "source1",
395 Description: "Test transaction",
396 Reference: "ref1",
397 ScheduledFor: scheduledFor.Format(time.RFC3339),
398 Destination: "dest1",
399 Amount: 100,
400 AllowOverDraft: true,
401 MetaData: map[string]interface{}{"key": "value"},
402 Sources: []model.Distribution{{Identifier: "source1", Distribution: "100"}},
403 Destinations: []model.Distribution{{Identifier: "dest1", Distribution: "100"}},
404 Inflight: true,
405 Precision: 2,
406 InflightExpiryDate: inflightExpiryDate.Format(time.RFC3339),
407 InflightCommitDate: inflightCommitDate.Format(time.RFC3339),
408 Rate: 1.5,
409 SkipQueue: true,
410 }
411
412 transaction := recordTransaction.ToTransaction()
413
414 assert.Equal(t, recordTransaction.Currency, transaction.Currency)
415 assert.Equal(t, recordTransaction.Source, transaction.Source)
416 assert.Equal(t, recordTransaction.Description, transaction.Description)
417 assert.Equal(t, recordTransaction.Reference, transaction.Reference)
418 assert.Equal(t, recordTransaction.Destination, transaction.Destination)
419 assert.Equal(t, recordTransaction.Amount, transaction.Amount)
420 assert.Equal(t, recordTransaction.AllowOverDraft, transaction.AllowOverdraft)
421 assert.Equal(t, recordTransaction.MetaData, transaction.MetaData)
422 assert.Equal(t, recordTransaction.Sources, transaction.Sources)
423 assert.Equal(t, recordTransaction.Destinations, transaction.Destinations)
424 assert.Equal(t, recordTransaction.Inflight, transaction.Inflight)
425 assert.Equal(t, recordTransaction.Precision, transaction.Precision)
426 assert.Equal(t, recordTransaction.Rate, transaction.Rate)
427 assert.Equal(t, recordTransaction.SkipQueue, transaction.SkipQueue)
428 assert.False(t, transaction.InflightCommitDate.IsZero(), "InflightCommitDate should be parsed and set")
429 assert.WithinDuration(t, inflightCommitDate, transaction.InflightCommitDate, time.Second)
430}
431
432func TestToTransactionInflightCommitDateEmpty(t *testing.T) {
433 recordTransaction := RecordTransaction{

Callers

nothing calls this directly

Calls 1

ToTransactionMethod · 0.95

Tested by

no test coverage detected