go-jamming/common/time_test.go

54 lines
1.4 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) TestTimeToIso() {
theTime := time.Date(2021, time.March, 9, 15, 51, 43, 732, time.UTC)
expected := "2021-03-09T15:51:43.000Z"
actual := TimeToIso(theTime)
assert.Equal(s.T(), expected, actual)
}
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) TestIsoToTimeInvalidStringReturnsZeroTime() {
since := IsoToTime("woef ik ben een hondje")
assert.True(s.T(), since.IsZero())
}
func (s *TimeSuite) TestIsoToTimeEmptyReturnsZeroTime() {
since := IsoToTime("")
assert.True(s.T(), since.IsZero())
}