Skip to content

Commit 3c5a48e

Browse files
test: add test coverage for ConnectorDependencies (#1980)
Co-authored-by: Harsh Gupta <harsh16official@gmail.com> Co-authored-by: Adi Boghawala <adiboghawala@gmail.com>
1 parent 6e8f60e commit 3c5a48e

File tree

2 files changed

+99
-0
lines changed

2 files changed

+99
-0
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import path from 'path';
2+
import { render } from '@asyncapi/generator-react-sdk';
3+
import { Parser, fromFile } from '@asyncapi/parser';
4+
import { getQueryParams } from '@asyncapi/generator-helpers';
5+
import { ConnectorDependencies } from '../../components/dependencies/ConnectorDependencies.js';
6+
7+
const parser = new Parser();
8+
const asyncapiFilePath = path.resolve(__dirname, '../../../../test/__fixtures__/asyncapi-websocket-components.yml');
9+
10+
describe('ConnectorDependencies component (integration with AsyncAPI document)', () => {
11+
let parsedAsyncAPIDocument;
12+
let channels;
13+
let queryParams;
14+
15+
beforeAll(async () => {
16+
const parseResult = await fromFile(parser, asyncapiFilePath).parse();
17+
parsedAsyncAPIDocument = parseResult.document;
18+
channels = parsedAsyncAPIDocument.channels();
19+
queryParams = getQueryParams(channels);
20+
});
21+
22+
test('renders base dependencies without query param imports when queryParams is null', () => {
23+
const result = render(<ConnectorDependencies queryParams={null} />);
24+
expect(result.trim()).toMatchSnapshot();
25+
});
26+
27+
test('renders base dependencies without query param imports when queryParams is undefined', () => {
28+
const result = render(<ConnectorDependencies />);
29+
expect(result.trim()).toMatchSnapshot();
30+
});
31+
32+
test('renders dependencies with query param imports when queryParams is empty Map', () => {
33+
const emptyMap = new Map();
34+
const result = render(<ConnectorDependencies queryParams={emptyMap} />);
35+
expect(result.trim()).toMatchSnapshot();
36+
});
37+
38+
test('renders dependencies with query param imports when queryParams has data from fixture', () => {
39+
const result = render(<ConnectorDependencies queryParams={queryParams} />);
40+
expect(result.trim()).toMatchSnapshot();
41+
});
42+
});
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
// Jest Snapshot v1, https://goo.gl/fbAQLP
2+
3+
exports[`ConnectorDependencies component (integration with AsyncAPI document) renders base dependencies without query param imports when queryParams is null 1`] = `
4+
"package com.asyncapi;
5+
6+
import io.quarkus.websockets.next.WebSocketConnector;
7+
import io.quarkus.websockets.next.WebSocketClientConnection;
8+
import jakarta.inject.Inject;
9+
import jakarta.inject.Singleton;
10+
import jakarta.annotation.PostConstruct;
11+
import io.quarkus.logging.Log;
12+
import io.quarkus.runtime.Startup;"
13+
`;
14+
15+
exports[`ConnectorDependencies component (integration with AsyncAPI document) renders base dependencies without query param imports when queryParams is undefined 1`] = `
16+
"package com.asyncapi;
17+
18+
import io.quarkus.websockets.next.WebSocketConnector;
19+
import io.quarkus.websockets.next.WebSocketClientConnection;
20+
import jakarta.inject.Inject;
21+
import jakarta.inject.Singleton;
22+
import jakarta.annotation.PostConstruct;
23+
import io.quarkus.logging.Log;
24+
import io.quarkus.runtime.Startup;"
25+
`;
26+
27+
exports[`ConnectorDependencies component (integration with AsyncAPI document) renders dependencies with query param imports when queryParams has data from fixture 1`] = `
28+
"package com.asyncapi;
29+
30+
import io.quarkus.websockets.next.WebSocketConnector;
31+
import io.quarkus.websockets.next.WebSocketClientConnection;
32+
import jakarta.inject.Inject;
33+
import jakarta.inject.Singleton;
34+
import jakarta.annotation.PostConstruct;
35+
import io.quarkus.logging.Log;
36+
import io.quarkus.runtime.Startup;
37+
import org.eclipse.microprofile.config.inject.ConfigProperty;
38+
import java.net.URI;
39+
import java.net.URLEncoder;
40+
import java.nio.charset.StandardCharsets;"
41+
`;
42+
43+
exports[`ConnectorDependencies component (integration with AsyncAPI document) renders dependencies with query param imports when queryParams is empty Map 1`] = `
44+
"package com.asyncapi;
45+
46+
import io.quarkus.websockets.next.WebSocketConnector;
47+
import io.quarkus.websockets.next.WebSocketClientConnection;
48+
import jakarta.inject.Inject;
49+
import jakarta.inject.Singleton;
50+
import jakarta.annotation.PostConstruct;
51+
import io.quarkus.logging.Log;
52+
import io.quarkus.runtime.Startup;
53+
import org.eclipse.microprofile.config.inject.ConfigProperty;
54+
import java.net.URI;
55+
import java.net.URLEncoder;
56+
import java.nio.charset.StandardCharsets;"
57+
`;

0 commit comments

Comments
 (0)