mirror of
https://github.com/Nezumi-2711/react-training.git
synced 2026-09-22 13:38:51 +00:00
Init test case component
This commit is contained in:
@@ -1,11 +1,20 @@
|
|||||||
export default {
|
export default {
|
||||||
testEnvironment: "jsdom",
|
testEnvironment: 'jsdom',
|
||||||
transform: {
|
transform: {
|
||||||
"^.+\\.tsx?$": "ts-jest",
|
'^.+\\.tsx?$': 'ts-jest',
|
||||||
},
|
},
|
||||||
moduleNameMapper: {
|
moduleNameMapper: {
|
||||||
"\\.(gif|ttf|eot|svg|png)$": "<rootDir>/test/__mocks__/fileMock.ts",
|
'\\.(gif|ttf|eot|svg|png)$': '<rootDir>/test/__mocks__/fileMock.ts',
|
||||||
"\\.(css|less|sass|scss)$": "identity-obj-proxy",
|
'\\.(css|less|sass|scss)$': 'identity-obj-proxy',
|
||||||
|
'@service/(.*)': ['<rootDir>/src/services/$1'],
|
||||||
|
'@constant/(.*)': ['<rootDir>/src/constants/$1'],
|
||||||
|
'@hook/(.*)': ['<rootDir>/src/hooks/$1'],
|
||||||
|
'@helper/(.*)': ['<rootDir>/src/helpers/$1'],
|
||||||
|
'@context/(.*)': ['<rootDir>/src/contexts/$1'],
|
||||||
|
'@component/(.*)': ['<rootDir>/src/components/$1'],
|
||||||
|
'@commonStyle/(.*)': ['<rootDir>/src/commons/styles/$1'],
|
||||||
|
'@type/(.*)': ['<rootDir>/src/types/$1'],
|
||||||
|
'@page/(.*)': ['<rootDir>/src/pages/$1'],
|
||||||
},
|
},
|
||||||
setupFilesAfterEnv: ['<rootDir>/jest.setup.ts'],
|
setupFilesAfterEnv: ['<rootDir>/jest.setup.ts'],
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -14,12 +14,14 @@
|
|||||||
"@emotion/is-prop-valid": "^1.2.1",
|
"@emotion/is-prop-valid": "^1.2.1",
|
||||||
"@supabase/supabase-js": "^2.38.4",
|
"@supabase/supabase-js": "^2.38.4",
|
||||||
"@tanstack/react-query": "^5.8.4",
|
"@tanstack/react-query": "^5.8.4",
|
||||||
|
"@types/react-test-renderer": "^18.0.6",
|
||||||
"react": "^18.2.0",
|
"react": "^18.2.0",
|
||||||
"react-dom": "^18.2.0",
|
"react-dom": "^18.2.0",
|
||||||
"react-hook-form": "^7.47.0",
|
"react-hook-form": "^7.47.0",
|
||||||
"react-hot-toast": "^2.4.1",
|
"react-hot-toast": "^2.4.1",
|
||||||
"react-icons": "^4.11.0",
|
"react-icons": "^4.11.0",
|
||||||
"react-router-dom": "^6.17.0",
|
"react-router-dom": "^6.17.0",
|
||||||
|
"react-test-renderer": "^18.2.0",
|
||||||
"styled-components": "^6.1.0"
|
"styled-components": "^6.1.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
|||||||
Generated
+38
-4
@@ -14,6 +14,9 @@ dependencies:
|
|||||||
'@tanstack/react-query':
|
'@tanstack/react-query':
|
||||||
specifier: ^5.8.4
|
specifier: ^5.8.4
|
||||||
version: 5.8.4(react-dom@18.2.0)(react@18.2.0)
|
version: 5.8.4(react-dom@18.2.0)(react@18.2.0)
|
||||||
|
'@types/react-test-renderer':
|
||||||
|
specifier: ^18.0.6
|
||||||
|
version: 18.0.6
|
||||||
react:
|
react:
|
||||||
specifier: ^18.2.0
|
specifier: ^18.2.0
|
||||||
version: 18.2.0
|
version: 18.2.0
|
||||||
@@ -32,6 +35,9 @@ dependencies:
|
|||||||
react-router-dom:
|
react-router-dom:
|
||||||
specifier: ^6.17.0
|
specifier: ^6.17.0
|
||||||
version: 6.17.0(react-dom@18.2.0)(react@18.2.0)
|
version: 6.17.0(react-dom@18.2.0)(react@18.2.0)
|
||||||
|
react-test-renderer:
|
||||||
|
specifier: ^18.2.0
|
||||||
|
version: 18.2.0(react@18.2.0)
|
||||||
styled-components:
|
styled-components:
|
||||||
specifier: ^6.1.0
|
specifier: ^6.1.0
|
||||||
version: 6.1.0(react-dom@18.2.0)(react@18.2.0)
|
version: 6.1.0(react-dom@18.2.0)(react@18.2.0)
|
||||||
@@ -1313,7 +1319,6 @@ packages:
|
|||||||
|
|
||||||
/@types/prop-types@15.7.9:
|
/@types/prop-types@15.7.9:
|
||||||
resolution: {integrity: sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g==}
|
resolution: {integrity: sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g==}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@types/react-dom@18.2.14:
|
/@types/react-dom@18.2.14:
|
||||||
resolution: {integrity: sha512-V835xgdSVmyQmI1KLV2BEIUgqEuinxp9O4G6g3FqO/SqLac049E53aysv0oEFD2kHfejeKU+ZqL2bcFWj9gLAQ==}
|
resolution: {integrity: sha512-V835xgdSVmyQmI1KLV2BEIUgqEuinxp9O4G6g3FqO/SqLac049E53aysv0oEFD2kHfejeKU+ZqL2bcFWj9gLAQ==}
|
||||||
@@ -1321,17 +1326,21 @@ packages:
|
|||||||
'@types/react': 18.2.29
|
'@types/react': 18.2.29
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/@types/react-test-renderer@18.0.6:
|
||||||
|
resolution: {integrity: sha512-O2JT1J3/v/NaYHYmPf2DXBSqUGmp6iwhFPicES6Pc1Y90B9Qgu99mmaBGqfZFpVuXLzF/pNJB4K9ySL3iqFeXA==}
|
||||||
|
dependencies:
|
||||||
|
'@types/react': 18.2.29
|
||||||
|
dev: false
|
||||||
|
|
||||||
/@types/react@18.2.29:
|
/@types/react@18.2.29:
|
||||||
resolution: {integrity: sha512-Z+ZrIRocWtdD70j45izShRwDuiB4JZqDegqMFW/I8aG5DxxLKOzVNoq62UIO82v9bdgi+DO1jvsb9sTEZUSm+Q==}
|
resolution: {integrity: sha512-Z+ZrIRocWtdD70j45izShRwDuiB4JZqDegqMFW/I8aG5DxxLKOzVNoq62UIO82v9bdgi+DO1jvsb9sTEZUSm+Q==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/prop-types': 15.7.9
|
'@types/prop-types': 15.7.9
|
||||||
'@types/scheduler': 0.16.5
|
'@types/scheduler': 0.16.5
|
||||||
csstype: 3.1.2
|
csstype: 3.1.2
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@types/scheduler@0.16.5:
|
/@types/scheduler@0.16.5:
|
||||||
resolution: {integrity: sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw==}
|
resolution: {integrity: sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw==}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@types/semver@7.5.3:
|
/@types/semver@7.5.3:
|
||||||
resolution: {integrity: sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==}
|
resolution: {integrity: sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==}
|
||||||
@@ -3706,6 +3715,11 @@ packages:
|
|||||||
resolution: {integrity: sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==}
|
resolution: {integrity: sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/object-assign@4.1.1:
|
||||||
|
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/object-inspect@1.13.1:
|
/object-inspect@1.13.1:
|
||||||
resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==}
|
resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==}
|
||||||
dev: true
|
dev: true
|
||||||
@@ -3968,7 +3982,6 @@ packages:
|
|||||||
|
|
||||||
/react-is@18.2.0:
|
/react-is@18.2.0:
|
||||||
resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==}
|
resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/react-refresh@0.14.0:
|
/react-refresh@0.14.0:
|
||||||
resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==}
|
resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==}
|
||||||
@@ -3998,6 +4011,27 @@ packages:
|
|||||||
react: 18.2.0
|
react: 18.2.0
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/react-shallow-renderer@16.15.0(react@18.2.0):
|
||||||
|
resolution: {integrity: sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==}
|
||||||
|
peerDependencies:
|
||||||
|
react: ^16.0.0 || ^17.0.0 || ^18.0.0
|
||||||
|
dependencies:
|
||||||
|
object-assign: 4.1.1
|
||||||
|
react: 18.2.0
|
||||||
|
react-is: 18.2.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/react-test-renderer@18.2.0(react@18.2.0):
|
||||||
|
resolution: {integrity: sha512-JWD+aQ0lh2gvh4NM3bBM42Kx+XybOxCpgYK7F8ugAlpaTSnWsX+39Z4XkOykGZAHrjwwTZT3x3KxswVWxHPUqA==}
|
||||||
|
peerDependencies:
|
||||||
|
react: ^18.2.0
|
||||||
|
dependencies:
|
||||||
|
react: 18.2.0
|
||||||
|
react-is: 18.2.0
|
||||||
|
react-shallow-renderer: 16.15.0(react@18.2.0)
|
||||||
|
scheduler: 0.23.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
/react@18.2.0:
|
/react@18.2.0:
|
||||||
resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
|
resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
import renderer from 'react-test-renderer';
|
||||||
|
import { BrowserRouter } from 'react-router-dom';
|
||||||
|
|
||||||
|
// Components
|
||||||
|
import AppLayout from '.';
|
||||||
|
|
||||||
|
describe('AppLayout testing snapshot', () => {
|
||||||
|
const wrapper = renderer.create(
|
||||||
|
<BrowserRouter>
|
||||||
|
<AppLayout />
|
||||||
|
</BrowserRouter>
|
||||||
|
);
|
||||||
|
|
||||||
|
test('render', () => {
|
||||||
|
expect(wrapper).toMatchSnapshot();
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
import renderer from 'react-test-renderer'
|
||||||
|
|
||||||
|
// Components
|
||||||
|
import ButtonIcon from '.'
|
||||||
|
import { HiOutlineLogout } from 'react-icons/hi'
|
||||||
|
|
||||||
|
describe('ButtonIcon testing snapshot', () => {
|
||||||
|
const wrapper = renderer.create(<ButtonIcon
|
||||||
|
aria-label="Logout"
|
||||||
|
icon={<HiOutlineLogout />}
|
||||||
|
iconStyle={{ size: '23px' }}
|
||||||
|
/>)
|
||||||
|
|
||||||
|
test('render', () => {
|
||||||
|
expect(wrapper).toMatchSnapshot()
|
||||||
|
})
|
||||||
|
})
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
import renderer from 'react-test-renderer';
|
||||||
|
|
||||||
|
// Components
|
||||||
|
import ConfirmMessage from '.';
|
||||||
|
|
||||||
|
describe('ConfirmMessage testing snapshot', () => {
|
||||||
|
const isDisable = true;
|
||||||
|
const message = 'Hello World!';
|
||||||
|
const handleOnConfirm = () => {
|
||||||
|
console.log('Confirm');
|
||||||
|
};
|
||||||
|
|
||||||
|
const wrapper = renderer.create(
|
||||||
|
<ConfirmMessage
|
||||||
|
disabled={isDisable}
|
||||||
|
message={message}
|
||||||
|
onConfirm={handleOnConfirm}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
|
||||||
|
test('render', () => {
|
||||||
|
expect(wrapper).toMatchSnapshot();
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
import renderer from 'react-test-renderer';
|
||||||
|
|
||||||
|
import Form from '.';
|
||||||
|
import Input from '@commonStyle/Input';
|
||||||
|
import { FormBtn } from '@page/User/styled';
|
||||||
|
|
||||||
|
describe('Form testing snapshot', () => {
|
||||||
|
const isDisable = true;
|
||||||
|
const errorMessage = 'This is error message';
|
||||||
|
const handleOnSubmit = () => {
|
||||||
|
console.log('Confirm');
|
||||||
|
};
|
||||||
|
const handleOnClick = () => {
|
||||||
|
console.log('On Click');
|
||||||
|
};
|
||||||
|
|
||||||
|
const wrapper = renderer.create(
|
||||||
|
<Form onSubmit={handleOnSubmit}>
|
||||||
|
<Form.Row label="Name" error={errorMessage}>
|
||||||
|
<Input type="text" id="name" />
|
||||||
|
</Form.Row>
|
||||||
|
|
||||||
|
<Form.Row label="Price" error={errorMessage}>
|
||||||
|
<Input type="text" id="price" />
|
||||||
|
</Form.Row>
|
||||||
|
|
||||||
|
<Form.Action>
|
||||||
|
<FormBtn type="submit" name="submit" disabled={isDisable}>
|
||||||
|
Confirm
|
||||||
|
</FormBtn>
|
||||||
|
<FormBtn type="button" variations="secondary" onClick={handleOnClick}>
|
||||||
|
Close
|
||||||
|
</FormBtn>
|
||||||
|
</Form.Action>
|
||||||
|
</Form>
|
||||||
|
);
|
||||||
|
|
||||||
|
test('render', () => {
|
||||||
|
expect(wrapper).toMatchSnapshot();
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
import renderer from 'react-test-renderer'
|
||||||
|
import Header from '.'
|
||||||
|
|
||||||
|
describe('Header testing snapshot', () => {
|
||||||
|
const wrapper = renderer.create(<Header accountName='Nezumi' />)
|
||||||
|
|
||||||
|
test('render', () => {
|
||||||
|
expect(wrapper).toMatchSnapshot()
|
||||||
|
})
|
||||||
|
})
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
import renderer from 'react-test-renderer';
|
||||||
|
|
||||||
|
import HeaderMenu from '.';
|
||||||
|
|
||||||
|
describe('HeaderMenu testing snapshot', () => {
|
||||||
|
const wrapper = renderer.create(<HeaderMenu />);
|
||||||
|
|
||||||
|
test('render', () => {
|
||||||
|
expect(wrapper).toMatchSnapshot();
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
import renderer from 'react-test-renderer';
|
||||||
|
|
||||||
|
import Menus from '.';
|
||||||
|
import { RiEditBoxFill, RiDeleteBin2Line } from 'react-icons/ri';
|
||||||
|
|
||||||
|
describe('Menus snapshot testing', () => {
|
||||||
|
const id = '123';
|
||||||
|
const handleOnClick = () => {
|
||||||
|
console.log('Click');
|
||||||
|
};
|
||||||
|
|
||||||
|
const wrapper = renderer.create(
|
||||||
|
<Menus>
|
||||||
|
<Menus.Menu>
|
||||||
|
<Menus.Toggle id={id} />
|
||||||
|
|
||||||
|
<Menus.List id={id.toString()}>
|
||||||
|
<Menus.Button onClick={handleOnClick} icon={<RiEditBoxFill />}>
|
||||||
|
Edit
|
||||||
|
</Menus.Button>
|
||||||
|
<Menus.Button onClick={handleOnClick} icon={<RiDeleteBin2Line />}>
|
||||||
|
Delete
|
||||||
|
</Menus.Button>
|
||||||
|
</Menus.List>
|
||||||
|
</Menus.Menu>
|
||||||
|
</Menus>
|
||||||
|
);
|
||||||
|
|
||||||
|
test('render', () => {
|
||||||
|
expect(wrapper).toMatchSnapshot();
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
import renderer from 'react-test-renderer';
|
||||||
|
|
||||||
|
import Message from '.';
|
||||||
|
|
||||||
|
describe('Message testing snapshot', () => {
|
||||||
|
const wrapper = renderer.create(<Message>This is a message!</Message>);
|
||||||
|
|
||||||
|
test('render', () => {
|
||||||
|
expect(wrapper).toMatchSnapshot();
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
import renderer from 'react-test-renderer';
|
||||||
|
|
||||||
|
// Components
|
||||||
|
import Modal from '.';
|
||||||
|
import Button from '@commonStyle/Button';
|
||||||
|
|
||||||
|
describe('Modal testing snapshot', () => {
|
||||||
|
const wrapper = renderer.create(
|
||||||
|
<Modal>
|
||||||
|
<Modal.Open
|
||||||
|
modalName="room-form"
|
||||||
|
renderChildren={(onCloseModal) => (
|
||||||
|
<Button onClick={onCloseModal}>Add room</Button>
|
||||||
|
)}
|
||||||
|
/>
|
||||||
|
<Modal.Window name="room-form" title="Add form">
|
||||||
|
<p>This is a windows</p>
|
||||||
|
</Modal.Window>
|
||||||
|
</Modal>
|
||||||
|
);
|
||||||
|
|
||||||
|
test('render', () => {
|
||||||
|
expect(wrapper).toMatchSnapshot();
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
import renderer from 'react-test-renderer';
|
||||||
|
|
||||||
|
// Components
|
||||||
|
import Nav from '.';
|
||||||
|
import { BrowserRouter } from 'react-router-dom';
|
||||||
|
|
||||||
|
describe('Nav testing snapshot', () => {
|
||||||
|
const wrapper = renderer.create(
|
||||||
|
<BrowserRouter>
|
||||||
|
<Nav />
|
||||||
|
</BrowserRouter>
|
||||||
|
);
|
||||||
|
|
||||||
|
test('render', () => {
|
||||||
|
expect(wrapper).toMatchSnapshot();
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
import renderer from 'react-test-renderer';
|
||||||
|
|
||||||
|
import Order from '.';
|
||||||
|
import { BrowserRouter } from 'react-router-dom';
|
||||||
|
|
||||||
|
describe('<Order.test />', () => {
|
||||||
|
const options = [
|
||||||
|
{
|
||||||
|
value: 'Value 1',
|
||||||
|
label: 'Option 1',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'Value 2',
|
||||||
|
label: 'Option 2',
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
const wrapper = renderer.create(
|
||||||
|
<BrowserRouter>
|
||||||
|
<Order options={options} />
|
||||||
|
</BrowserRouter>
|
||||||
|
);
|
||||||
|
|
||||||
|
test('render', () => {
|
||||||
|
expect(wrapper).toMatchSnapshot();
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
import renderer from 'react-test-renderer';
|
||||||
|
|
||||||
|
import Search from '.';
|
||||||
|
import { BrowserRouter } from 'react-router-dom';
|
||||||
|
|
||||||
|
describe('Search testing snapshot', () => {
|
||||||
|
const placeHolder = 'Search placeholder...';
|
||||||
|
const wrapper = renderer.create(
|
||||||
|
<BrowserRouter>
|
||||||
|
<Search setPlaceHolder={placeHolder} />
|
||||||
|
</BrowserRouter>
|
||||||
|
);
|
||||||
|
|
||||||
|
test('render', () => {
|
||||||
|
expect(wrapper).toMatchSnapshot();
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
import renderer from 'react-test-renderer';
|
||||||
|
|
||||||
|
import Select from '.';
|
||||||
|
|
||||||
|
describe('Select testing snapshot', () => {
|
||||||
|
const options = [
|
||||||
|
{
|
||||||
|
label: 'Option 1',
|
||||||
|
value: 'Value 1',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Option 2',
|
||||||
|
value: 'Value 2'
|
||||||
|
}
|
||||||
|
];
|
||||||
|
const value = 'Temp value';
|
||||||
|
const handleOnChange = () => {
|
||||||
|
console.log('On change');
|
||||||
|
}
|
||||||
|
|
||||||
|
const wrapper = renderer.create(
|
||||||
|
<Select
|
||||||
|
options={options}
|
||||||
|
value={value}
|
||||||
|
onChange={handleOnChange}
|
||||||
|
ariaLabel="Sort"
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
|
||||||
|
test('render', () => {
|
||||||
|
expect(wrapper).toMatchSnapshot();
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
import renderer from 'react-test-renderer';
|
||||||
|
import { BrowserRouter } from 'react-router-dom';
|
||||||
|
|
||||||
|
// Components
|
||||||
|
import Sidebar from '.';
|
||||||
|
|
||||||
|
describe('Sidebar testing snapshot', () => {
|
||||||
|
const wrapper = renderer.create(
|
||||||
|
<BrowserRouter>
|
||||||
|
<Sidebar heading="Hotel Management" />
|
||||||
|
</BrowserRouter>
|
||||||
|
);
|
||||||
|
|
||||||
|
test('render', () => {
|
||||||
|
expect(wrapper).toMatchSnapshot();
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
import renderer from 'react-test-renderer';
|
||||||
|
|
||||||
|
import SortBy from '.';
|
||||||
|
import { BrowserRouter } from 'react-router-dom';
|
||||||
|
|
||||||
|
describe('<SortBy.test />', () => {
|
||||||
|
const options = [
|
||||||
|
{
|
||||||
|
label: 'Option 1',
|
||||||
|
value: 'Value 1',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Option 2',
|
||||||
|
value: 'Value 2',
|
||||||
|
},
|
||||||
|
];
|
||||||
|
const wrapper = renderer.create(
|
||||||
|
<BrowserRouter>
|
||||||
|
<SortBy options={options} />
|
||||||
|
</BrowserRouter>
|
||||||
|
);
|
||||||
|
|
||||||
|
test('render', () => {
|
||||||
|
expect(wrapper).toMatchSnapshot();
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
import renderer from 'react-test-renderer';
|
||||||
|
|
||||||
|
import Table from '.';
|
||||||
|
import { IUser } from '@type/users';
|
||||||
|
|
||||||
|
interface ITableRow {
|
||||||
|
user: IUser;
|
||||||
|
}
|
||||||
|
|
||||||
|
describe('Table testing snapshot', () => {
|
||||||
|
const columnName = ['Column 1', 'Column 2'];
|
||||||
|
const tempUser: IUser[] = [
|
||||||
|
{
|
||||||
|
id: 1,
|
||||||
|
name: 'Nezumi',
|
||||||
|
phone: '123',
|
||||||
|
isBooked: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 2,
|
||||||
|
name: 'Loi Phan',
|
||||||
|
phone: '453',
|
||||||
|
isBooked: false,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
const TableRow = ({user}: ITableRow) => {
|
||||||
|
const { id, name, phone, isBooked } = user;
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Table.Row>
|
||||||
|
<div>{id}</div>
|
||||||
|
<div>{name}</div>
|
||||||
|
<div>{phone}</div>
|
||||||
|
<div>{isBooked}</div>
|
||||||
|
</Table.Row>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
const renderRow = (user: IUser) => <TableRow user={user} key={user.id}/>
|
||||||
|
|
||||||
|
const wrapper = renderer.create(
|
||||||
|
<Table columns="10% 35% 30% 15% 10%">
|
||||||
|
<Table.Header headerColumn={columnName} />
|
||||||
|
<Table.Body<IUser> data={tempUser} render={renderRow} />
|
||||||
|
</Table>
|
||||||
|
);
|
||||||
|
|
||||||
|
test('render', () => {
|
||||||
|
expect(wrapper).toMatchSnapshot();
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
import renderer from 'react-test-renderer';
|
||||||
|
|
||||||
|
import Toast from '.';
|
||||||
|
|
||||||
|
describe('Toast testing snapshot', () => {
|
||||||
|
const wrapper = renderer.create(<Toast />);
|
||||||
|
|
||||||
|
test('render', () => {
|
||||||
|
expect(wrapper).toMatchSnapshot();
|
||||||
|
});
|
||||||
|
});
|
||||||
Reference in New Issue
Block a user