(t *testing.T)
| 384 | } |
| 385 | |
| 386 | func 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 | |
| 432 | func TestToTransactionInflightCommitDateEmpty(t *testing.T) { |
| 433 | recordTransaction := RecordTransaction{ |
nothing calls this directly
no test coverage detected