test: improve test isolation and setup management

Add Token and RegularToken fields to TestServerSetup for pre-authenticated
access. Update setupTestServer to create fresh users with valid tokens at
initialization time. Simplify createTestMediaItemID to use setup.Token.
Remove loginTestUser, loginRegularUser, loginAdminUser functions in favor
of setup.Token/setup.RegularToken. Update createTestUserOnce and
getTestUserID/getRegularUserID to be idempotent. Update all test files to
use setup.Token instead of calling login helpers.
This commit is contained in:
2026-02-22 01:57:22 -05:00
parent 9a09161f24
commit f54508e4dd
16 changed files with 819 additions and 793 deletions
+7 -7
View File
@@ -24,7 +24,7 @@ func TestSystemSettingsHandler(t *testing.T) {
})
t.Run("GET /api/libraries/scan-settings - Get settings as non-admin", func(t *testing.T) {
token := loginRegularUser(t, setup.Server, setup.DB)
token := setup.RegularToken
req := httptest.NewRequest("GET", "/api/libraries/scan-settings", nil)
req.Header.Set("Authorization", "Bearer "+token)
@@ -35,7 +35,7 @@ func TestSystemSettingsHandler(t *testing.T) {
})
t.Run("GET /api/libraries/scan-settings - Get settings as admin", func(t *testing.T) {
token := loginAdminUser(t, setup.Server, setup.DB)
token := setup.Token
req := httptest.NewRequest("GET", "/api/libraries/scan-settings", nil)
req.Header.Set("Authorization", "Bearer "+token)
@@ -67,7 +67,7 @@ func TestSystemSettingsHandler(t *testing.T) {
})
t.Run("PUT /api/libraries/scan-settings - Update as non-admin", func(t *testing.T) {
token := loginRegularUser(t, setup.Server, setup.DB)
token := setup.RegularToken
payload := map[string]interface{}{
"scan_frequency_minutes": 30,
@@ -85,7 +85,7 @@ func TestSystemSettingsHandler(t *testing.T) {
})
t.Run("PUT /api/libraries/scan-settings - Update with invalid frequency", func(t *testing.T) {
token := loginAdminUser(t, setup.Server, setup.DB)
token := setup.Token
testCases := []struct {
name string
@@ -117,7 +117,7 @@ func TestSystemSettingsHandler(t *testing.T) {
})
t.Run("PUT /api/libraries/scan-settings - Update with missing required field", func(t *testing.T) {
token := loginAdminUser(t, setup.Server, setup.DB)
token := setup.Token
payload := map[string]interface{}{
"auto_scan_enabled": true,
@@ -134,7 +134,7 @@ func TestSystemSettingsHandler(t *testing.T) {
})
t.Run("PUT /api/libraries/scan-settings - Update with valid data", func(t *testing.T) {
token := loginAdminUser(t, setup.Server, setup.DB)
token := setup.Token
testCases := []struct {
name string
@@ -174,7 +174,7 @@ func TestSystemSettingsHandler(t *testing.T) {
})
t.Run("PUT /api/libraries/scan-settings - Update with invalid JSON", func(t *testing.T) {
token := loginAdminUser(t, setup.Server, setup.DB)
token := setup.Token
invalidJSON := []byte(`{scan_frequency_minutes: 60, auto_scan_enabled: true}`)