UNPKG

@nestjsvn/swagger-sse

Version:

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

73 lines (72 loc) 3.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const setup_1 = require("./setup"); const test_controllers_1 = require("./test-controllers"); describe('Simple Diagnostic Tests', () => { let context; beforeAll(async () => { context = await setup_1.E2ETestSetup.createContext('simple-diagnostic', { controllers: [test_controllers_1.TestEventsController], }); }); afterAll(async () => { await setup_1.E2ETestSetup.cleanup('simple-diagnostic'); }); it('should understand Swagger UI structure', async () => { await context.page.goto(`${context.baseUrl}/api-docs`); // Wait for Swagger UI to load await context.page.waitForSelector('.swagger-ui', { timeout: 10000 }); // Get all opblock elements and their structure const opblockInfo = await context.page.evaluate(() => { const opblocks = Array.from(document.querySelectorAll('.opblock')); return opblocks.map((opblock, index) => { const summary = opblock.querySelector('.opblock-summary'); const pathElement = opblock.querySelector('[data-path]'); const tagElement = opblock.querySelector('[data-tag]'); return { index, hasExecuteWrapper: !!opblock.querySelector('.execute-wrapper'), hasSummary: !!summary, path: pathElement?.getAttribute('data-path'), tag: tagElement?.getAttribute('data-tag'), isExpanded: opblock.classList.contains('is-open'), summaryClasses: summary?.className, }; }); }); console.log('Opblock structure:', JSON.stringify(opblockInfo, null, 2)); // Find the basic test-events endpoint const basicEndpoint = opblockInfo.find(info => info.path === '/test-events/basic'); console.log('Basic endpoint info:', basicEndpoint); expect(basicEndpoint).toBeTruthy(); expect(basicEndpoint?.tag).toBe('Test Events'); // Try to click on the summary to expand it if (basicEndpoint && !basicEndpoint.isExpanded) { console.log('Attempting to expand basic endpoint...'); await context.page.evaluate(() => { const pathElement = document.querySelector('[data-path="/test-events/basic"]'); const opblock = pathElement?.closest('.opblock'); const summary = opblock?.querySelector('.opblock-summary'); if (summary) { console.log('Clicking on summary:', summary); summary.click(); } }); // Wait a moment for expansion await context.page.waitForTimeout(1000); // Check if it expanded const expandedInfo = await context.page.evaluate(() => { const pathElement = document.querySelector('[data-path="/test-events/basic"]'); const opblock = pathElement?.closest('.opblock'); return { isExpanded: opblock?.classList.contains('is-open'), hasExecuteWrapper: !!opblock?.querySelector('.execute-wrapper'), executeWrapperVisible: !!opblock?.querySelector('.execute-wrapper:not([style*="display: none"])'), }; }); console.log('After expansion attempt:', expandedInfo); } // This test always passes - it's just for diagnostics expect(true).toBe(true); }); });