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
+5 -5
View File
@@ -67,7 +67,7 @@ func TestMediaItemISBNNormalization(t *testing.T) {
setup := setupTestServer(t)
// Create an ebook library first
token := loginTestUser(t, setup.Server, setup.DB)
token := setup.Token
libID := createTestLibrary(t, setup.Server, token, "test-isbn-lib")
// Add a folder to the library (required before adding media items)
@@ -209,7 +209,7 @@ func TestMediaItemISBNNormalization(t *testing.T) {
func TestMediaItemISBNEdgeCases(t *testing.T) {
setup := setupTestServer(t)
token := loginTestUser(t, setup.Server, setup.DB)
token := setup.Token
libID := createTestLibrary(t, setup.Server, token, "test-isbn-edge-lib")
addFolderToLibrary(t, setup.Server, token, libID, "/app/uploads")
@@ -294,7 +294,7 @@ func TestMediaItemISBNEdgeCases(t *testing.T) {
func TestMediaItemsPagination(t *testing.T) {
setup := setupTestServer(t)
token := loginTestUser(t, setup.Server, setup.DB)
token := setup.Token
libID := createTestLibrary(t, setup.Server, token, "test-pagination-lib")
addFolderToLibrary(t, setup.Server, token, libID, "/app/uploads")
@@ -406,7 +406,7 @@ func TestMediaItemsPagination(t *testing.T) {
func TestMediaItemLibraryRequirement(t *testing.T) {
setup := setupTestServer(t)
token := loginTestUser(t, setup.Server, setup.DB)
token := setup.Token
t.Run("Create media-item without library should fail gracefully", func(t *testing.T) {
payload := map[string]interface{}{
@@ -469,7 +469,7 @@ func TestMediaItemLibraryRequirement(t *testing.T) {
func TestUpdateMediaItemISBN(t *testing.T) {
setup := setupTestServer(t)
token := loginTestUser(t, setup.Server, setup.DB)
token := setup.Token
libID := createTestLibrary(t, setup.Server, token, "test-update-lib")
addFolderToLibrary(t, setup.Server, token, libID, "/app/uploads")