inject SpotifyTokenService in relevant classes

This commit is contained in:
StarAppeal
2025-09-19 23:19:51 +02:00
parent 92bd66c6f3
commit 65d87b77c6
13 changed files with 80 additions and 43 deletions
@@ -17,11 +17,8 @@ describe("SpotifyTokenService - Successful Initialization", () => {
let spotifyTokenService: SpotifyTokenServiceType;
beforeEach(async () => {
vi.stubEnv("SPOTIFY_CLIENT_ID", "test-client-id");
vi.stubEnv("SPOTIFY_CLIENT_SECRET", "test-client-secret");
const { SpotifyTokenService } = await import("../../../src/db/services/spotifyTokenService");
spotifyTokenService = new SpotifyTokenService();
spotifyTokenService = new SpotifyTokenService("test-client-id","test-client-secret");
});
const getExpectedAuthHeader = () => {
+1 -1
View File
@@ -58,7 +58,7 @@ let server: http.Server;
beforeAll(async () => {
const { startServer } = await import("../src/index");
const instances = await startServer("not-used");
const instances = await startServer("not-used", "not-used", "not-used");
app = instances.app;
server = instances.server;
});
+1 -3
View File
@@ -17,9 +17,7 @@ describe("SpotifyTokenGenerator", () => {
mockTokenService = createMockSpotifyTokenService();
vi.mocked(SpotifyTokenService).mockImplementation(() => mockTokenService as any);
const spotifyGenerator = new SpotifyTokenGenerator();
const spotifyGenerator = new SpotifyTokenGenerator(mockTokenService as any);
app = createTestApp(spotifyGenerator.createRouter(), "/spotify");
});
@@ -6,6 +6,7 @@ import type { UserService } from "../../../../src/db/services/db/UserService";
import {
CustomWebsocketEventUserService
} from "../../../../src/utils/websocket/websocketCustomEvents/customWebsocketEventUserService";
import {createMockSpotifyTokenService} from "../../../helpers/testSetup";
type MockWs = {
user: {
@@ -41,7 +42,9 @@ describe("websocketEventUtils.getEventListeners", () => {
updateUser: vi.fn(),
} as any;
listeners = getEventListeners(mockWs as any, mockUserService);
listeners = getEventListeners(mockWs as any, mockUserService, createMockSpotifyTokenService() as any);
});
it("should return an array of event listener objects", () => {
@@ -3,11 +3,13 @@ import { WebsocketEventHandler } from "../../../src/utils/websocket/websocketEve
import { ExtendedWebSocket } from "../../../src/interfaces/extendedWebsocket";
import { CustomWebsocketEvent } from "../../../src/utils/websocket/websocketCustomEvents/customWebsocketEvent";
import {UserService} from "../../../src/db/services/db/UserService";
import {SpotifyTokenService} from "../../../src/db/services/spotifyTokenService";
describe("WebsocketEventHandler", () => {
let mockWebSocket: Mocked<ExtendedWebSocket>;
let websocketEventHandler: WebsocketEventHandler;
let mockUserService: Mocked<UserService>;
let mockSpotifyTokenService: Mocked<SpotifyTokenService>
let registeredHandlers: Map<string, (...args: any[]) => void>;
beforeEach(() => {
@@ -31,8 +33,10 @@ describe("WebsocketEventHandler", () => {
// not used in this test
mockUserService = {} as Mocked<UserService>;
mockSpotifyTokenService = {} as Mocked<SpotifyTokenService>;
websocketEventHandler = new WebsocketEventHandler(mockWebSocket, mockUserService);
websocketEventHandler = new WebsocketEventHandler(mockWebSocket, mockUserService, mockSpotifyTokenService);
});
afterEach(() => {
+7 -3
View File
@@ -6,7 +6,8 @@ import { WebsocketServerEventHandler } from "../src/utils/websocket/websocketSer
import { WebsocketEventHandler } from "../src/utils/websocket/websocketEventHandler";
import { getEventListeners } from "../src/utils/websocket/websocketCustomEvents/websocketEventUtils";
import {UserService} from "../src/db/services/db/UserService";
import {createMockUserService} from "./helpers/testSetup";
import {createMockSpotifyTokenService, createMockUserService} from "./helpers/testSetup";
import {SpotifyTokenService} from "../src/db/services/spotifyTokenService";
let mockWssInstance: Mocked<WebSocketServer>;
let mockServerEventHandler: Mocked<WebsocketServerEventHandler>;
@@ -27,6 +28,7 @@ describe("ExtendedWebSocketServer", () => {
let mockHttpServer: Mocked<Server>;
let extendedWss: ExtendedWebSocketServer;
let mockUserService: Mocked<UserService>;
let mockSpotifyService : Mocked<SpotifyTokenService>;
beforeEach(() => {
vi.clearAllMocks();
@@ -46,8 +48,10 @@ describe("ExtendedWebSocketServer", () => {
} as unknown as Mocked<WebSocketServer>;
mockUserService = createMockUserService();
mockSpotifyService = createMockSpotifyTokenService() as any;
extendedWss = new ExtendedWebSocketServer(mockHttpServer, mockUserService);
extendedWss = new ExtendedWebSocketServer(mockHttpServer, mockUserService, mockSpotifyService);
});
describe("Constructor and Setup", () => {
@@ -117,7 +121,7 @@ describe("ExtendedWebSocketServer", () => {
it("should create and configure a WebsocketEventHandler for new clients", () => {
connectionHandler(mockWsClient, {});
expect(vi.mocked(WebsocketEventHandler)).toHaveBeenCalledWith(mockWsClient, mockUserService);
expect(vi.mocked(WebsocketEventHandler)).toHaveBeenCalledWith(mockWsClient, mockUserService, mockSpotifyService);
expect(mockClientEventHandler.enableErrorEvent).toHaveBeenCalled();
expect(mockClientEventHandler.enablePongEvent).toHaveBeenCalled();
expect(mockClientEventHandler.enableMessageEvent).toHaveBeenCalled();