Skip to content

Commit

Permalink
some minor fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
drnoa committed Apr 3, 2024
1 parent 3d5abfd commit e884518
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 11 deletions.
2 changes: 1 addition & 1 deletion heating_manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ func (hm *HeatingManager) checkTemperature(shellyURL string) {
}

if temperature > hm.Config.TemperatureThreshold {
fmt.Println("Temperature has exceeded 55°C! Legionellaheating will be resheduled.")
fmt.Println("Temperature has exceeded %.1f°C! Legionellaheating will be resheduled.", hm.Config.TemperatureThreshold)
hm.TemperatureExceeded = true
} else {
fmt.Println("Temperature is in order.")
Expand Down
13 changes: 3 additions & 10 deletions heating_manager_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import (
"testing"
)

// TestNewHeatingManager prüft, ob ein HeatingManager erfolgreich initialisiert werden kann.
func TestNewHeatingManager(t *testing.T) {
manager, err := NewHeatingManager()
if err != nil {
Expand All @@ -18,31 +17,27 @@ func TestNewHeatingManager(t *testing.T) {
}
}

// TestCheckTemperature verwendet einen Mock-Server, um die Reaktion von checkTemperature zu testen.
func TestCheckTemperature(t *testing.T) {
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusOK)
_, _ = w.Write([]byte("25")) // Setzen Sie eine Mock-Temperatur.
_, _ = w.Write([]byte("25"))
}))
defer ts.Close()

manager, _ := NewHeatingManager()
manager.Config.ShellyURL = ts.URL // Verwenden Sie den Mock-Server als ShellyURL.
manager.Config.ShellyURL = ts.URL

manager.checkTemperature(manager.Config.ShellyURL)
if manager.TemperatureExceeded {
t.Error("TemperatureExceeded should be false for temperature 25")
}
}

// TestWeeklyCheck prüft die Logik der weeklyCheck Methode.
// Sie können diese Methode erweitern, um verschiedene Szenarien zu testen.
func TestWeeklyCheck(t *testing.T) {
manager, _ := NewHeatingManager()
manager.weeklyCheck("someURL") // Dieser Test könnte ausgebaut werden, um spezifische Verhaltensweisen zu prüfen.
manager.weeklyCheck("someURL")
}

// TestGetTemperature prüft, ob die Temperatur korrekt vom HTTP-Response gelesen wird.
func TestGetTemperature(t *testing.T) {
expectedTemp := 25.0
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
Expand All @@ -59,5 +54,3 @@ func TestGetTemperature(t *testing.T) {
t.Errorf("Expected %v, got %v", expectedTemp, temp)
}
}

// Weitere Tests für turnShellyOn, saveLastCheckTime, nextWeeklyCheckDuration, und readLastCheckTime können hier hinzugefügt werden.

0 comments on commit e884518

Please sign in to comment.