Этот коммит содержится в:
Conor Macpherson
2022-12-22 15:40:26 -05:00
родитель be1608972d
Коммит cedfc46bd9
10 изменённых файлов: 78 добавлений и 15 удалений

Просмотреть файл

@@ -229,8 +229,7 @@ func GetSanitizedClientLicense(l map[string]string) map[string]string {
return sanitizedLicense
}
func GetNextTrueUpReviewDueDate() string {
now := time.Now().UTC()
func GetNextTrueUpReviewDueDate(now time.Time) time.Time {
quaterEndMonths := []time.Month{time.March, time.June, time.September, time.December}
var nextQuaterEndMonth time.Month = time.March
@@ -244,5 +243,5 @@ func GetNextTrueUpReviewDueDate() string {
}
}
return time.Date(now.Year(), nextQuaterEndMonth, TrueUpReviewDueDay, 0, 0, 0, 0, now.Location()).Format("2006-01-02")
return time.Date(now.Year(), nextQuaterEndMonth, TrueUpReviewDueDay, 0, 0, 0, 0, now.Location())
}

Просмотреть файл

@@ -8,6 +8,7 @@ import (
"encoding/base64"
"os"
"testing"
"time"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
@@ -91,3 +92,58 @@ func TestGetLicenseFileFromDisk(t *testing.T) {
assert.False(t, success, "should have been an invalid file")
})
}
func TestGetNextTrueUpReviewDueDate(t *testing.T) {
t.Run("Due date always falls on the 15th", func(t *testing.T) {
// Before the 15th
now := time.Date(2022, 12, 14, 0, 0, 0, 0, time.Local)
due := GetNextTrueUpReviewDueDate(now)
assert.Equal(t, due.Day(), TrueUpReviewDueDay)
// On the 15th
now = time.Date(2022, 12, 15, 0, 0, 0, 0, time.Local)
due = GetNextTrueUpReviewDueDate(now)
assert.Equal(t, due.Day(), TrueUpReviewDueDay)
// After the 15th
now = time.Date(2022, 12, 16, 0, 0, 0, 0, time.Local)
due = GetNextTrueUpReviewDueDate(now)
assert.Equal(t, due.Day(), TrueUpReviewDueDay)
})
t.Run("Due date will always be in next quater if the current date is past the 15th", func(t *testing.T) {
now := time.Date(2022, time.March, 16, 0, 0, 0, 0, time.Local)
due := GetNextTrueUpReviewDueDate(now)
assert.Equal(t, time.June, due.Month())
now = time.Date(2022, time.June, 16, 0, 0, 0, 0, time.Local)
due = GetNextTrueUpReviewDueDate(now)
assert.Equal(t, time.September, due.Month())
now = time.Date(2022, time.September, 16, 0, 0, 0, 0, time.Local)
due = GetNextTrueUpReviewDueDate(now)
assert.Equal(t, time.December, due.Month())
now = time.Date(2022, time.December, 16, 0, 0, 0, 0, time.Local)
due = GetNextTrueUpReviewDueDate(now)
assert.Equal(t, time.March, due.Month())
})
t.Run("Due date will always be in the current quater if the current date is before or on the 15th", func(t *testing.T) {
now := time.Date(2022, time.March, 15, 0, 0, 0, 0, time.Local)
due := GetNextTrueUpReviewDueDate(now)
assert.Equal(t, time.March, due.Month())
now = time.Date(2022, time.June, 15, 0, 0, 0, 0, time.Local)
due = GetNextTrueUpReviewDueDate(now)
assert.Equal(t, time.June, due.Month())
now = time.Date(2022, time.September, 14, 0, 0, 0, 0, time.Local)
due = GetNextTrueUpReviewDueDate(now)
assert.Equal(t, time.September, due.Month())
now = time.Date(2022, time.December, 14, 0, 0, 0, 0, time.Local)
due = GetNextTrueUpReviewDueDate(now)
assert.Equal(t, time.December, due.Month())
})
}