cleanup/small refactor + first tests

This commit is contained in:
2025-07-17 19:28:21 +02:00
parent 6688128d30
commit 68000a0f0a
6 changed files with 99 additions and 61 deletions

View File

@@ -0,0 +1,53 @@
package helper
import (
"os"
"testing"
"time"
)
func TestGetEnv(t *testing.T) {
os.Setenv("GO_TEST_VALUE", "123")
env := GetEnv("GO_TEST_VALUE", "")
if env != "123" {
t.Error("GetEnv() cannot find value")
}
}
func TestGetEnvEmpty(t *testing.T) {
env := GetEnv("GO_TEST_NOVALUE", "123")
if env != "123" {
t.Errorf("GetEnv() did not use default value: want=%s got=%s", "123", env)
}
}
func TestCacheCreate(t *testing.T) {
cacheFetch := func(key string) (any, error) {
return "123", nil
}
cache := NewCache(1*time.Second, cacheFetch)
if cache.ttl != 1*time.Second {
t.Error("Error creating cache")
}
}
func TestCacheFunction(t *testing.T) {
counter := 1
cacheFetch := func(key string) (any, error) {
counter += 1
return counter, nil
}
cache := NewCache(1*time.Millisecond, cacheFetch)
valInit, err := cache.Get("TEST")
valCache, err := cache.Get("TEST")
time.Sleep(1 * time.Millisecond)
valNoCache, err := cache.Get("TEST")
if err != nil {
t.Errorf("Error getting key from Cache: %e", err)
}
if valInit != valCache || valCache != 2 || valNoCache != 3 {
t.Error("Caching does not resprect ttl.")
}
}

16
Backend/helper/time.go Normal file
View File

@@ -0,0 +1,16 @@
package helper
import (
"time"
)
func GetMonday(ts time.Time) time.Time {
if ts.Weekday() != time.Monday {
if ts.Weekday() == time.Sunday {
return ts.AddDate(0, 0, -6)
} else {
return ts.AddDate(0, 0, -int(ts.Weekday()-1))
}
}
return ts
}

View File

@@ -0,0 +1,17 @@
package helper
import (
"testing"
"time"
)
func TestGetMonday(t *testing.T) {
isMonday, err := time.Parse("2006-01-02", "2025-07-14")
notMonday, err := time.Parse("2006-01-02", "2025-07-16")
if err != nil || isMonday == notMonday {
t.Errorf("U stupid? %e", err)
}
if GetMonday(isMonday) != isMonday || GetMonday(notMonday) != isMonday {
t.Error("Wrong date conversion!")
}
}