UNPKG

@nestjsvn/swagger-sse

Version:

OpenAPI documentation and interactive Swagger UI for NestJS Server-Sent Events endpoints

61 lines (60 loc) 2.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const setup_1 = require("./setup"); const test_controllers_1 = require("./test-controllers"); describe('SSE Elements Check E2E Test', () => { let context; beforeAll(async () => { context = await setup_1.E2ETestSetup.createContext('sse-elements-check', { controllers: [test_controllers_1.TestEventsController, test_controllers_1.MobileTestController], }); }); afterAll(async () => { await setup_1.E2ETestSetup.cleanup('sse-elements-check'); }); it('should check SSE elements after execute', async () => { console.log('=== SSE ELEMENTS CHECK START ==='); // Navigate and execute the full flow await context.page.goto(`${context.baseUrl}/api-docs`); await context.page.waitForSelector('.swagger-ui', { timeout: 10000 }); // Click through the flow await context.page.click('[data-path="/test-events/basic"]'); await context.page.waitForTimeout(1000); await context.page.click('.btn.try-out__btn'); await context.page.waitForTimeout(1000); await context.page.click('.execute-wrapper .btn.execute'); await context.page.waitForTimeout(3000); console.log('1. Completed execute flow'); // Check for specific SSE test IDs const sseTestIds = [ 'sse-connect-btn', 'sse-disconnect-btn', 'sse-status', 'sse-event-log', 'sse-clear-btn' ]; for (const testId of sseTestIds) { const element = await context.page.$(`[data-testid="${testId}"]`); console.log(`2. Element [data-testid="${testId}"] found:`, !!element); if (element) { const isVisible = await element.isVisible(); const boundingBox = await element.boundingBox(); console.log(` - Visible: ${isVisible}, BoundingBox:`, boundingBox); } } // Check for any elements with data-testid containing "sse" const allSseTestIds = await context.page.$$eval('[data-testid*="sse"]', elements => elements.map(el => ({ testId: el.getAttribute('data-testid'), tagName: el.tagName, visible: el.offsetParent !== null, textContent: el.textContent?.trim().substring(0, 50) }))); console.log('3. All SSE test ID elements:'); console.log(JSON.stringify(allSseTestIds, null, 2)); // Take a final screenshot await context.page.screenshot({ path: 'sse-elements-final.png', fullPage: true }); console.log('4. Final screenshot taken: sse-elements-final.png'); console.log('=== SSE ELEMENTS CHECK END ==='); expect(true).toBe(true); }, 60000); });