diff options
author | Florian Orben <florian.orben@gmail.com> | 2015-11-28 14:56:30 +0100 |
---|---|---|
committer | Florian Orben <florian.orben@gmail.com> | 2015-11-28 16:26:24 +0100 |
commit | 7ac97273855e5e68d9e4b10e96d5466201fb8871 (patch) | |
tree | 4411424be6281887a713d20ee383906e59b75168 /utils | |
parent | 42a001c4e26acaebb7bade2a9b45428578b04164 (diff) | |
download | chat-7ac97273855e5e68d9e4b10e96d5466201fb8871.tar.gz chat-7ac97273855e5e68d9e4b10e96d5466201fb8871.tar.bz2 chat-7ac97273855e5e68d9e4b10e96d5466201fb8871.zip |
PLT-1035: Remove last data point in graphs on #statistics page
Diffstat (limited to 'utils')
-rw-r--r-- | utils/time.go | 23 | ||||
-rw-r--r-- | utils/time_test.go | 50 |
2 files changed, 73 insertions, 0 deletions
diff --git a/utils/time.go b/utils/time.go new file mode 100644 index 000000000..7d5afdf8f --- /dev/null +++ b/utils/time.go @@ -0,0 +1,23 @@ +package utils + +import ( + "time" +) + +func MillisFromTime(t time.Time) int64 { + return t.UnixNano() / int64(time.Millisecond) +} + +func StartOfDay(t time.Time) time.Time { + year, month, day := t.Date() + return time.Date(year, month, day, 0, 0, 0, 0, t.Location()) +} + +func EndOfDay(t time.Time) time.Time { + year, month, day := t.Date() + return time.Date(year, month, day, 23, 59, 59, 999999999, t.Location()) +} + +func Yesterday() time.Time { + return time.Now().AddDate(0, 0, -1) +} diff --git a/utils/time_test.go b/utils/time_test.go new file mode 100644 index 000000000..7d65046bf --- /dev/null +++ b/utils/time_test.go @@ -0,0 +1,50 @@ +// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +package utils + +import ( + "testing" + "time" +) + +var format = "2006-01-02 15:04:05.000000000" + +func TestMillisFromTime(t *testing.T) { + input, _ := time.Parse(format, "2015-01-01 12:34:00.000000000") + actual := MillisFromTime(input) + expected := int64(1420115640000) + + if actual != expected { + t.Fatalf("TestMillisFromTime failed, %v=%v", expected, actual) + } +} + +func TestYesterday(t *testing.T) { + actual := Yesterday() + expected := time.Now().AddDate(0, 0, -1) + + if actual.Year() != expected.Year() || actual.Day() != expected.Day() || actual.Month() != expected.Month() { + t.Fatalf("TestYesterday failed, %v=%v", expected, actual) + } +} + +func TestStartOfDay(t *testing.T) { + input, _ := time.Parse(format, "2015-01-01 12:34:00.000000000") + actual := StartOfDay(input) + expected, _ := time.Parse(format, "2015-01-01 00:00:00.000000000") + + if actual != expected { + t.Fatalf("TestStartOfDay failed, %v=%v", expected, actual) + } +} + +func TestEndOfDay(t *testing.T) { + input, _ := time.Parse(format, "2015-01-01 12:34:00.000000000") + actual := EndOfDay(input) + expected, _ := time.Parse(format, "2015-01-01 23:59:59.999999999") + + if actual != expected { + t.Fatalf("TestEndOfDay failed, %v=%v", expected, actual) + } +} |