Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -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 { ClientDependencies } from '../../components/dependencies/ClientDependencies';

const parser = new Parser();
const asyncapiFilePath = path.resolve(__dirname, '../../../../test/__fixtures__/asyncapi-websocket-components.yml');

describe('ClientDependencies 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 HashMap import when queryParams is null', () => {
const result = render(<ClientDependencies queryParams={null} />);
expect(result.trim()).toMatchSnapshot();
});

test('renders base dependencies without HashMap import when queryParams is undefined', () => {
const result = render(<ClientDependencies />);
expect(result.trim()).toMatchSnapshot();
});

test('renders dependencies with HashMap import when queryParams is empty Map', () => {
const emptyMap = new Map();
const result = render(<ClientDependencies queryParams={emptyMap} />);
expect(result.trim()).toMatchSnapshot();
});

test('renders dependencies with HashMap import when queryParams has data from fixture', () => {
const result = render(<ClientDependencies queryParams={queryParams} />);
expect(result.trim()).toMatchSnapshot();
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`ClientDependencies component (integration with AsyncAPI document) renders base dependencies without HashMap import when queryParams is null 1`] = `
"package com.asyncapi;

import io.quarkus.websockets.next.WebSocketClient;
import io.quarkus.websockets.next.WebSocketClientConnection;
import io.quarkus.websockets.next.OnOpen;
import io.quarkus.websockets.next.OnClose;
import io.quarkus.websockets.next.OnError;
import io.quarkus.websockets.next.OnTextMessage;
import io.quarkus.websockets.next.CloseReason;
import jakarta.inject.Inject;
import org.jboss.logging.Logger;"
`;

exports[`ClientDependencies component (integration with AsyncAPI document) renders base dependencies without HashMap import when queryParams is undefined 1`] = `
"package com.asyncapi;

import io.quarkus.websockets.next.WebSocketClient;
import io.quarkus.websockets.next.WebSocketClientConnection;
import io.quarkus.websockets.next.OnOpen;
import io.quarkus.websockets.next.OnClose;
import io.quarkus.websockets.next.OnError;
import io.quarkus.websockets.next.OnTextMessage;
import io.quarkus.websockets.next.CloseReason;
import jakarta.inject.Inject;
import org.jboss.logging.Logger;"
`;

exports[`ClientDependencies component (integration with AsyncAPI document) renders dependencies with HashMap import when queryParams has data from fixture 1`] = `
"package com.asyncapi;

import io.quarkus.websockets.next.WebSocketClient;
import io.quarkus.websockets.next.WebSocketClientConnection;
import io.quarkus.websockets.next.OnOpen;
import io.quarkus.websockets.next.OnClose;
import io.quarkus.websockets.next.OnError;
import io.quarkus.websockets.next.OnTextMessage;
import io.quarkus.websockets.next.CloseReason;
import jakarta.inject.Inject;
import org.jboss.logging.Logger;
import java.util.HashMap;"
`;

exports[`ClientDependencies component (integration with AsyncAPI document) renders dependencies with HashMap import when queryParams is empty Map 1`] = `
"package com.asyncapi;

import io.quarkus.websockets.next.WebSocketClient;
import io.quarkus.websockets.next.WebSocketClientConnection;
import io.quarkus.websockets.next.OnOpen;
import io.quarkus.websockets.next.OnClose;
import io.quarkus.websockets.next.OnError;
import io.quarkus.websockets.next.OnTextMessage;
import io.quarkus.websockets.next.CloseReason;
import jakarta.inject.Inject;
import org.jboss.logging.Logger;
import java.util.HashMap;"
`;