diff --git a/src/components/BulkEditAccessPoints/components/BulkEditAPTable/components/EditableCell/tests/index.test.js b/src/components/BulkEditAccessPoints/components/BulkEditAPTable/components/EditableCell/tests/index.test.js
index d42dbb2..9822abb 100644
--- a/src/components/BulkEditAccessPoints/components/BulkEditAPTable/components/EditableCell/tests/index.test.js
+++ b/src/components/BulkEditAccessPoints/components/BulkEditAPTable/components/EditableCell/tests/index.test.js
@@ -21,12 +21,23 @@ Object.defineProperty(window, 'matchMedia', {
});
const mockProps = {
- title: '',
- editable: false,
- dataIndex: '',
- record: {},
+ title: 'CHANNEL',
+ editable: true,
+ dataIndex: 'channel',
+ record: {
+ cellSize: [-90, -90, -90],
+ channel: [36, 6, 149],
+ clientDisconnectThreshold: [-90, -90, -90],
+ id: '1',
+ key: '1',
+ minLoad: [40, 40, 50],
+ name: 'AP 1',
+ probeResponseThreshold: [-90, -90, -90],
+ snrDrop: [30, 30, 20],
+ },
handleSave: () => {},
};
+
describe('', () => {
afterEach(cleanup);
@@ -62,6 +73,8 @@ describe('', () => {
};
const { getByTestId } = render();
const tableCell = getByTestId('bulkEditTableCell');
+ const ENTER = { keyCode: 13 };
+ fireEvent.keyDown(tableCell, ENTER);
fireEvent.click(tableCell);
const input = getByTestId('bulkEditFormInput');
fireEvent.change(input, { target: { value: '' } });
@@ -71,4 +84,76 @@ describe('', () => {
expect(handleSaveSpy).not.toHaveBeenCalled();
});
});
+
+ it('handleSave should be called when input is valid and Enter key is pressed', async () => {
+ const handleSaveSpy = jest.fn();
+ const EditableCellComp = () => {
+ const [form] = Form.useForm();
+ return (
+
+
+
+
+
+ );
+ };
+ const { getByTestId } = render();
+
+ const tableCell = getByTestId('bulkEditTableCell');
+ fireEvent.click(tableCell);
+ const input = getByTestId('bulkEditFormInput');
+ expect(input).toBeInTheDocument();
+
+ fireEvent.change(input, { target: { value: '123' } });
+
+ await waitFor(() => {
+ expect(input.value).toBe('123');
+ });
+ const ENTER = { keyCode: 13 };
+ fireEvent.keyDown(input, ENTER);
+ await waitFor(() => {
+ expect(handleSaveSpy).toHaveBeenCalled();
+ });
+ });
+
+ it('cell should not be editable when editable flag is false', async () => {
+ const EditableCellComp = () => {
+ const [form] = Form.useForm();
+ return (
+
+
+
+
+
+ );
+ };
+
+ render();
+ });
+
+ it('cell should be Render When Props Not Provide', async () => {
+ const EditableCellComp = () => {
+ const [form] = Form.useForm();
+ return (
+
+
+
+
+
+ );
+ };
+
+ const { getByTestId } = render();
+ const tableCell = getByTestId('bulkEditTableCell');
+ fireEvent.click(tableCell);
+ const input = getByTestId('bulkEditFormInput');
+ expect(input).toBeInTheDocument();
+
+ fireEvent.change(input, { target: { value: '123' } });
+ await waitFor(() => {
+ expect(input.value).toBe('123');
+ });
+ const ENTER = { keyCode: 13 };
+ fireEvent.keyDown(input, ENTER);
+ });
});
diff --git a/src/components/BulkEditAccessPoints/components/BulkEditAPTable/components/EditableRow/tests/index.test.js b/src/components/BulkEditAccessPoints/components/BulkEditAPTable/components/EditableRow/tests/index.test.js
new file mode 100644
index 0000000..22d4f17
--- /dev/null
+++ b/src/components/BulkEditAccessPoints/components/BulkEditAPTable/components/EditableRow/tests/index.test.js
@@ -0,0 +1,39 @@
+import React from 'react';
+import '@testing-library/jest-dom/extend-expect';
+import { render } from 'tests/utils';
+import { Form } from 'antd';
+import { EditableRow, EditableContext } from '..';
+
+Object.defineProperty(window, 'matchMedia', {
+ writable: true,
+ value: jest.fn().mockImplementation(query => ({
+ matches: false,
+ media: query,
+ onchange: null,
+ addListener: jest.fn(), // deprecated
+ removeListener: jest.fn(), // deprecated
+ addEventListener: jest.fn(),
+ removeEventListener: jest.fn(),
+ dispatchEvent: jest.fn(),
+ })),
+});
+
+const mockProps = {
+ index: 0,
+};
+
+describe('', () => {
+ it('Should work with default props', () => {
+ const EditableRowComp = () => {
+ const [form] = Form.useForm();
+ return (
+
+
+
+
+
+ );
+ };
+ render();
+ });
+});
diff --git a/src/components/BulkEditAccessPoints/components/BulkEditAPTable/tests/index.test.js b/src/components/BulkEditAccessPoints/components/BulkEditAPTable/tests/index.test.js
new file mode 100644
index 0000000..22861f3
--- /dev/null
+++ b/src/components/BulkEditAccessPoints/components/BulkEditAPTable/tests/index.test.js
@@ -0,0 +1,78 @@
+import '@testing-library/jest-dom/extend-expect';
+
+import { cleanup, fireEvent, waitFor } from '@testing-library/react';
+
+import React from 'react';
+import { render } from 'tests/utils';
+import BulkEditAPTable from '..';
+
+Object.defineProperty(window, 'matchMedia', {
+ writable: true,
+ value: jest.fn().mockImplementation(query => ({
+ matches: false,
+ media: query,
+ onchange: null,
+ addListener: jest.fn(), // deprecated
+ removeListener: jest.fn(), // deprecated
+ addEventListener: jest.fn(),
+ removeEventListener: jest.fn(),
+ dispatchEvent: jest.fn(),
+ })),
+});
+
+const mockProps = {
+ tableColumns: [
+ { dataIndex: 'name', editable: true, key: 'name', title: 'NAME' },
+ { dataIndex: 'name', editable: false, key: 'name', title: 'NAME-1' },
+ ],
+ tableData: [
+ {
+ key: '1',
+ id: '1',
+ name: 'AP 1',
+ channel: [25, 23, 61],
+ cellSize: [-90, -90, -90],
+ clientDisconnectThreshold: [-90, -90, -90],
+ probeResponseThreshold: [-90, -90, -90],
+ minLoad: [50, 40, 40],
+ snrDrop: [20, 30, 30],
+ },
+ ],
+ onEditedRows: jest.fn(),
+ onLoadMore: jest.fn(),
+ isLastPage: false,
+ resetEditedRows: false,
+};
+
+describe('', () => {
+ afterEach(cleanup);
+ it('Should work with default props', () => {
+ const BulkEditAPTableComp = () => {
+ return ;
+ };
+ render();
+ });
+
+ it('Should work when a single table cell is edited multiple times', async () => {
+ const BulkEditAPTableComp = () => {
+ return ;
+ };
+ const { getByTestId } = render();
+ const tableCell = getByTestId('bulkEditTableCell');
+ fireEvent.click(tableCell);
+ const input = getByTestId('bulkEditFormInput');
+ fireEvent.click(input);
+
+ const ENTER = { keyCode: 13 };
+ fireEvent.keyDown(input, ENTER);
+
+ await waitFor(() => expect(getByTestId('bulkEditTableCell')).toBeInTheDocument());
+ const newTableCell = getByTestId('bulkEditTableCell');
+ fireEvent.click(newTableCell);
+ const newInput = getByTestId('bulkEditFormInput');
+ fireEvent.click(newInput);
+
+ fireEvent.keyDown(newInput, ENTER);
+ await waitFor(() => expect(getByTestId('bulkEditTableCell')).toBeInTheDocument());
+ });
+});
diff --git a/src/components/BulkEditAccessPoints/tests/index.test.js b/src/components/BulkEditAccessPoints/tests/index.test.js
index 10b31b1..b62726d 100644
--- a/src/components/BulkEditAccessPoints/tests/index.test.js
+++ b/src/components/BulkEditAccessPoints/tests/index.test.js
@@ -25,6 +25,10 @@ const mockProps = {
onSaveChanges: () => {},
onLoadMore: () => {},
isLastPage: true,
+ breadcrumbPath: [
+ { id: 2, name: 'Menlo Park' },
+ { id: 8, name: 'Ottawa' },
+ ],
};
describe('', () => {
afterEach(cleanup);
@@ -69,7 +73,7 @@ describe('', () => {
expect(getByRole('button', { name: 'Load More' })).toBeVisible();
});
- it('onLoadMore should be called when ', async () => {
+ it('onLoadMore should be called when Load More button is clicked', async () => {
const submitSpy = jest.fn();
const { getByRole } = render(