From f75050d4245a575d4f8c57acdf6a6d97db36a9f2 Mon Sep 17 00:00:00 2001
From: Matej Kubinec <32638572+matejkubinec@users.noreply.github.com>
Date: Wed, 18 Dec 2024 14:57:06 +0100
Subject: [PATCH 1/5] PMM-13548 Add service node selection fixes (#787)
* PMM-13548 Use FinalForm to store selected node & preselect pmm-server
* PMM-13548 Fix warnings in unit tests related to nodes fetching
---
.../FormParts/FormParts.test.tsx | 8 ++++---
.../MongoDBConnectionDetails.test.tsx | 8 ++++---
.../MySQLConnectionDetails.test.tsx | 8 ++++---
.../NodesAgents/NodesAgents.constants.tsx | 1 +
.../NodesAgents/NodesAgents.test.tsx | 10 ++++++++
.../FormParts/NodesAgents/NodesAgents.tsx | 24 +++++++++++++++----
.../PostgreSQLConnectionDetails.test.tsx | 12 ++++++----
7 files changed, 52 insertions(+), 19 deletions(-)
diff --git a/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/FormParts.test.tsx b/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/FormParts.test.tsx
index f7050cf756c07..129effdf898a1 100644
--- a/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/FormParts.test.tsx
+++ b/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/FormParts.test.tsx
@@ -1,4 +1,4 @@
-import { render, screen } from '@testing-library/react';
+import { render, screen, waitFor } from '@testing-library/react';
import { FormApi, FormState } from 'final-form';
import React from 'react';
import { Form } from 'react-final-form';
@@ -13,6 +13,8 @@ import { trackingOptions, rdsTrackingOptions } from './FormParts.constants';
import { LabelsFormPart } from './Labels/Labels';
import { MainDetailsFormPart } from './MainDetails/MainDetails';
+jest.mock('app/percona/inventory/Inventory.service');
+
const form: Partial = {
change: jest.fn(),
/* eslint-disable-next-line @typescript-eslint/no-explicit-any */
@@ -31,7 +33,7 @@ describe('MainDetailsFormPart ::', () => {
);
const fields = container.querySelectorAll('input');
- expect(fields.length).toBe(8);
+ await waitFor(() => expect(fields.length).toBe(8));
expect(screen.getByTestId('address-text-input')).toBeDisabled();
expect(screen.getByTestId('serviceName-text-input')).not.toBeDisabled();
@@ -51,7 +53,7 @@ describe('MainDetailsFormPart ::', () => {
);
const fields = container.querySelectorAll('input');
- expect(fields.length).toBe(8);
+ await waitFor(() => expect(fields.length).toBe(8));
expect(screen.getByTestId('address-text-input')).not.toBeDisabled();
expect(screen.getByTestId('serviceName-text-input')).not.toBeDisabled();
diff --git a/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/MongoDBConnectionDetails/MongoDBConnectionDetails.test.tsx b/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/MongoDBConnectionDetails/MongoDBConnectionDetails.test.tsx
index 8057d857b0813..6839e2b38ac5b 100644
--- a/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/MongoDBConnectionDetails/MongoDBConnectionDetails.test.tsx
+++ b/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/MongoDBConnectionDetails/MongoDBConnectionDetails.test.tsx
@@ -1,4 +1,4 @@
-import { render, screen, fireEvent } from '@testing-library/react';
+import { render, screen, fireEvent, waitFor } from '@testing-library/react';
import React from 'react';
import { Form } from 'react-final-form';
import { Provider } from 'react-redux';
@@ -7,8 +7,10 @@ import { configureStore } from 'app/store/configureStore';
import { MongoDBConnectionDetails } from './MongoDBConnectionDetails';
+jest.mock('app/percona/inventory/Inventory.service');
+
describe('MongoDB connection details:: ', () => {
- it('should have max query length attribute', () => {
+ it('should have max query length attribute', async () => {
render(
- {Messages.howToUpdate}
- {Messages.howToUpdateDescription}
+ {Messages.readyForAnUpdate}
+ {Messages.updateDescription}