mirror of
https://github.com/Telecominfraproject/wlan-cloud-ui-library.git
synced 2026-04-05 05:44:33 +00:00
Merge branch 'master' into feature/TW-957
This commit is contained in:
@@ -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('<EditableCell />', () => {
|
||||
afterEach(cleanup);
|
||||
|
||||
@@ -62,6 +73,8 @@ describe('<EditableCell />', () => {
|
||||
};
|
||||
const { getByTestId } = render(<EditableCellComp />);
|
||||
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('<EditableCell />', () => {
|
||||
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 (
|
||||
<div form={form}>
|
||||
<EditableContext.Provider value={form}>
|
||||
<EditableCell {...mockProps} editable handleSave={handleSaveSpy} />
|
||||
</EditableContext.Provider>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
const { getByTestId } = render(<EditableCellComp />);
|
||||
|
||||
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 (
|
||||
<div form={form}>
|
||||
<EditableContext.Provider value={form}>
|
||||
<EditableCell editable={false} />
|
||||
</EditableContext.Provider>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
render(<EditableCellComp />);
|
||||
});
|
||||
|
||||
it('cell should be Render When Props Not Provide', async () => {
|
||||
const EditableCellComp = () => {
|
||||
const [form] = Form.useForm();
|
||||
return (
|
||||
<div form={form}>
|
||||
<EditableContext.Provider value={form}>
|
||||
<EditableCell editable />
|
||||
</EditableContext.Provider>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
const { getByTestId } = render(<EditableCellComp />);
|
||||
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);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -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('<EditableRow />', () => {
|
||||
it('Should work with default props', () => {
|
||||
const EditableRowComp = () => {
|
||||
const [form] = Form.useForm();
|
||||
return (
|
||||
<div form={form}>
|
||||
<EditableContext.Provider value={form}>
|
||||
<EditableRow {...mockProps} />
|
||||
</EditableContext.Provider>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
render(<EditableRowComp />);
|
||||
});
|
||||
});
|
||||
@@ -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('<BulkEditAPTableComp />', () => {
|
||||
afterEach(cleanup);
|
||||
it('Should work with default props', () => {
|
||||
const BulkEditAPTableComp = () => {
|
||||
return <BulkEditAPTable {...mockProps} />;
|
||||
};
|
||||
render(<BulkEditAPTableComp />);
|
||||
});
|
||||
|
||||
it('Should work when a single table cell is edited multiple times', async () => {
|
||||
const BulkEditAPTableComp = () => {
|
||||
return <BulkEditAPTable {...mockProps} />;
|
||||
};
|
||||
const { getByTestId } = render(<BulkEditAPTableComp />);
|
||||
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());
|
||||
});
|
||||
});
|
||||
@@ -25,6 +25,10 @@ const mockProps = {
|
||||
onSaveChanges: () => {},
|
||||
onLoadMore: () => {},
|
||||
isLastPage: true,
|
||||
breadcrumbPath: [
|
||||
{ id: 2, name: 'Menlo Park' },
|
||||
{ id: 8, name: 'Ottawa' },
|
||||
],
|
||||
};
|
||||
describe('<BulkEditAccessPoints />', () => {
|
||||
afterEach(cleanup);
|
||||
@@ -69,7 +73,7 @@ describe('<BulkEditAccessPoints />', () => {
|
||||
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(
|
||||
<Router>
|
||||
|
||||
Reference in New Issue
Block a user