test: add unit and integration tests for scan settings

- Add unit tests for MediaScanner.GetPollInterval and GetAutoScanEnabled
- Add integration tests for scan-settings API endpoints
- Update validation test cases to use seconds (1-3600) instead of minutes
- Fix worker.go to use new NewMediaScanner signature
This commit is contained in:
2026-02-28 14:09:06 -05:00
parent 1242550892
commit 4bf8e933df
4 changed files with 217 additions and 13 deletions
+11 -12
View File
@@ -91,9 +91,8 @@ func TestSystemSettingsHandler(t *testing.T) {
name string
ScanPollIntervalSeconds int
}{
{"Frequency too low (14 minutes)", 14},
{"Frequency too high (1441 minutes)", 1441},
{"Frequency too low (0 minutes)", 0},
{"Frequency too low (0 seconds)", 0},
{"Frequency too high (3601 seconds)", 3601},
{"Frequency negative (-10)", -10},
}
@@ -141,11 +140,11 @@ func TestSystemSettingsHandler(t *testing.T) {
ScanPollIntervalSeconds int
autoScanEnabled bool
}{
{"Valid frequency (15 minutes)", 15, true},
{"Valid frequency (60 minutes)", 60, true},
{"Valid frequency (1440 minutes)", 1440, true},
{"Valid frequency (120 minutes)", 120, false},
{"Valid frequency (30 minutes)", 30, true},
{"Valid frequency (1 second)", 1, true},
{"Valid frequency (60 seconds)", 60, true},
{"Valid frequency (3600 seconds)", 3600, true},
{"Valid frequency (30 seconds)", 30, false},
{"Valid frequency (300 seconds)", 300, true},
}
for _, tc := range testCases {
@@ -210,15 +209,15 @@ func TestSystemSettingsIntegration(t *testing.T) {
})
t.Run("Valid frequency range enforcement", func(t *testing.T) {
validFrequencies := []int{15, 30, 60, 120, 240, 480, 720, 1440}
invalidFrequencies := []int{0, 1, 14, 1441, 2000}
validFrequencies := []int{1, 30, 60, 300, 600, 1800, 3600}
invalidFrequencies := []int{0, -1, 3601, 5000}
for _, freq := range validFrequencies {
assert.True(t, freq >= 15 && freq <= 1440, "Frequency %d should be valid", freq)
assert.True(t, freq >= 1 && freq <= 3600, "Frequency %d should be valid", freq)
}
for _, freq := range invalidFrequencies {
assert.False(t, freq >= 15 && freq <= 1440, "Frequency %d should be invalid", freq)
assert.False(t, freq >= 1 && freq <= 3600, "Frequency %d should be invalid", freq)
}
})
}