go-jamming/common/time_test.go

46 lines
1.2 KiB
Go

package common
import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite"
"testing"
"time"
)
type TimeSuite struct {
suite.Suite
nowtime time.Time
}
func (s *TimeSuite) SetupTest() {
s.nowtime = time.Date(2020, time.January, 1, 12, 30, 0, 0, time.UTC)
Now = func() time.Time {
return s.nowtime
}
}
func TestSendSuite(t *testing.T) {
suite.Run(t, new(TimeSuite))
}
func (s *TimeSuite) TestIsoToTimeInISOString() {
expectedtime := time.Date(2021, time.March, 9, 15, 51, 43, 732, time.UTC)
since := IsoToTime("2021-03-09T15:51:43.732Z")
assert.Equal(s.T(), expectedtime.Year(), since.Year())
assert.Equal(s.T(), expectedtime.Month(), since.Month())
assert.Equal(s.T(), expectedtime.Day(), since.Day())
assert.Equal(s.T(), expectedtime.Hour(), since.Hour())
assert.Equal(s.T(), expectedtime.Minute(), since.Minute())
assert.Equal(s.T(), expectedtime.Second(), since.Second())
}
func (s *TimeSuite) TestIsoToTimeInvalidStringReturnsNow() {
since := IsoToTime("woef ik ben een hondje")
assert.Equal(s.T(), s.nowtime, since)
}
func (s *TimeSuite) TestIsoToTimeEmptyReturnsNow() {
since := IsoToTime("")
assert.Equal(s.T(), s.nowtime, since)
}