forked from wgroeneveld/go-jamming
54 lines
1.4 KiB
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())
|
|
}
|