diff --git a/packages/templates/clients/websocket/java/quarkus/test/components/ConnectorDependencies.test.js b/packages/templates/clients/websocket/java/quarkus/test/components/ConnectorDependencies.test.js new file mode 100644 index 000000000..e5e8c1c85 --- /dev/null +++ b/packages/templates/clients/websocket/java/quarkus/test/components/ConnectorDependencies.test.js @@ -0,0 +1,42 @@ +import path from 'path'; +import { render } from '@asyncapi/generator-react-sdk'; +import { Parser, fromFile } from '@asyncapi/parser'; +import { getQueryParams } from '@asyncapi/generator-helpers'; +import { ConnectorDependencies } from '../../components/dependencies/ConnectorDependencies.js'; + +const parser = new Parser(); +const asyncapiFilePath = path.resolve(__dirname, '../../../../test/__fixtures__/asyncapi-websocket-components.yml'); + +describe('ConnectorDependencies component (integration with AsyncAPI document)', () => { + let parsedAsyncAPIDocument; + let channels; + let queryParams; + + beforeAll(async () => { + const parseResult = await fromFile(parser, asyncapiFilePath).parse(); + parsedAsyncAPIDocument = parseResult.document; + channels = parsedAsyncAPIDocument.channels(); + queryParams = getQueryParams(channels); + }); + + test('renders base dependencies without query param imports when queryParams is null', () => { + const result = render(); + expect(result.trim()).toMatchSnapshot(); + }); + + test('renders base dependencies without query param imports when queryParams is undefined', () => { + const result = render(); + expect(result.trim()).toMatchSnapshot(); + }); + + test('renders dependencies with query param imports when queryParams is empty Map', () => { + const emptyMap = new Map(); + const result = render(); + expect(result.trim()).toMatchSnapshot(); + }); + + test('renders dependencies with query param imports when queryParams has data from fixture', () => { + const result = render(); + expect(result.trim()).toMatchSnapshot(); + }); +}); \ No newline at end of file diff --git a/packages/templates/clients/websocket/java/quarkus/test/components/__snapshots__/ConnectorDependencies.test.js.snap b/packages/templates/clients/websocket/java/quarkus/test/components/__snapshots__/ConnectorDependencies.test.js.snap new file mode 100644 index 000000000..a53ae7652 --- /dev/null +++ b/packages/templates/clients/websocket/java/quarkus/test/components/__snapshots__/ConnectorDependencies.test.js.snap @@ -0,0 +1,57 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`ConnectorDependencies component (integration with AsyncAPI document) renders base dependencies without query param imports when queryParams is null 1`] = ` +"package com.asyncapi; + +import io.quarkus.websockets.next.WebSocketConnector; +import io.quarkus.websockets.next.WebSocketClientConnection; +import jakarta.inject.Inject; +import jakarta.inject.Singleton; +import jakarta.annotation.PostConstruct; +import io.quarkus.logging.Log; +import io.quarkus.runtime.Startup;" +`; + +exports[`ConnectorDependencies component (integration with AsyncAPI document) renders base dependencies without query param imports when queryParams is undefined 1`] = ` +"package com.asyncapi; + +import io.quarkus.websockets.next.WebSocketConnector; +import io.quarkus.websockets.next.WebSocketClientConnection; +import jakarta.inject.Inject; +import jakarta.inject.Singleton; +import jakarta.annotation.PostConstruct; +import io.quarkus.logging.Log; +import io.quarkus.runtime.Startup;" +`; + +exports[`ConnectorDependencies component (integration with AsyncAPI document) renders dependencies with query param imports when queryParams has data from fixture 1`] = ` +"package com.asyncapi; + +import io.quarkus.websockets.next.WebSocketConnector; +import io.quarkus.websockets.next.WebSocketClientConnection; +import jakarta.inject.Inject; +import jakarta.inject.Singleton; +import jakarta.annotation.PostConstruct; +import io.quarkus.logging.Log; +import io.quarkus.runtime.Startup; +import org.eclipse.microprofile.config.inject.ConfigProperty; +import java.net.URI; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets;" +`; + +exports[`ConnectorDependencies component (integration with AsyncAPI document) renders dependencies with query param imports when queryParams is empty Map 1`] = ` +"package com.asyncapi; + +import io.quarkus.websockets.next.WebSocketConnector; +import io.quarkus.websockets.next.WebSocketClientConnection; +import jakarta.inject.Inject; +import jakarta.inject.Singleton; +import jakarta.annotation.PostConstruct; +import io.quarkus.logging.Log; +import io.quarkus.runtime.Startup; +import org.eclipse.microprofile.config.inject.ConfigProperty; +import java.net.URI; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets;" +`;