Add more tests, add mocks.
Этот коммит содержится в:
@@ -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())
|
||||
})
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user