diff --git a/apps/api/data/doku/payment_repo.go b/apps/api/data/doku/payment_repo.go index 6f6cb34c..9119a552 100644 --- a/apps/api/data/doku/payment_repo.go +++ b/apps/api/data/doku/payment_repo.go @@ -74,7 +74,7 @@ func ParsePrivateKeyPEM(pemStr string) (*rsa.PrivateKey, error) { } func formatTimestamp(t time.Time) string { - return t.Format("2006-01-02T15:04:05.000Z07:00") + return t.Format("2006-01-02T15:04:05Z07:00") } func formatAmount(amount float32) string { diff --git a/apps/api/data/doku/payment_repo_test.go b/apps/api/data/doku/payment_repo_test.go index fad96f4b..b138ab5d 100644 --- a/apps/api/data/doku/payment_repo_test.go +++ b/apps/api/data/doku/payment_repo_test.go @@ -34,14 +34,16 @@ func TestParsePrivateKeyPEM_NotAKey(t *testing.T) { assert.Error(t, err) } -func TestFormatTimestamp_ParsesBackAsRFC3339Nano(t *testing.T) { - now := time.Date(2021, 1, 8, 9, 57, 39, 877000000, time.FixedZone("WIB", 7*60*60)) +func TestFormatTimestamp_MatchesDokuFormat(t *testing.T) { + now := time.Date(2020, 12, 21, 14, 56, 11, 877000000, time.FixedZone("WIB", 7*60*60)) formatted := formatTimestamp(now) - parsed, err := time.Parse(time.RFC3339Nano, formatted) + assert.Equal(t, "2020-12-21T14:56:11+07:00", formatted) + + parsed, err := time.Parse(time.RFC3339, formatted) require.NoError(t, err) - assert.True(t, now.Equal(parsed)) + assert.True(t, now.Truncate(time.Second).Equal(parsed)) } func TestFormatAmount(t *testing.T) {