k2hr3-app
Version:
K2HR3 Web Application is K2hdkc based Resource and Roles and policy Rules
127 lines (116 loc) • 4.14 kB
JSX
/*
*
* K2HR3 Web Application
*
* Copyright 2017 Yahoo Japan Corporation.
*
* K2HR3 is K2hdkc based Resource and Roles and policy Rules, gathers
* common management information for the cloud.
* K2HR3 can dynamically manage information as "who", "what", "operate".
* These are stored as roles, resources, policies in K2hdkc, and the
* client system can dynamically read and modify these information.
*
* For the full copyright and license information, please view
* the license file that was distributed with this source code.
*
* AUTHOR: Takeshi Nakatani
* CREATE: Mon Jul 10 2018
* REVISION:
*
*/
import React from 'react'; // eslint-disable-line no-unused-vars
import renderer from 'react-test-renderer';
import getElementWithContext from 'react-test-context-provider'; // for context provider
import { ThemeProvider } from '@mui/material/styles';
import { StyledEngineProvider, CssBaseline} from '@mui/material'; // for jss and reset.css
import r3Theme from '../../src/components/r3theme'; // custom theme
import R3Toolbar from '../../src/components//r3toolbar';
import R3Provider from '../../src/util/r3provider';
import mock_fetch from '../__mocks__/fetchMock'; // eslint-disable-line no-unused-vars
import { createNodeMock } from '../__mocks__/materialUiMock'; // for material-ui
//
// Mock functions
//
// [NOTE]
// If you need to customize return value, you can call methods
// for return value by each mock function.
// see: https://jestjs.io/docs/ja/mock-functions
//
// ex) mockfunc
// .mockReturnValueOnce(10)
// .mockReturnValueOnce('x')
// .mockReturnValue(true);
//
const ArrawUpward = jest.fn(); // eslint-disable-line no-undef
const CreatePath = jest.fn(); // eslint-disable-line no-undef
const CheckPath = jest.fn(); // eslint-disable-line no-undef
const DeletePath = jest.fn(); // eslint-disable-line no-undef
const CreateService = jest.fn(); // eslint-disable-line no-undef
const CreateServiceTenant = jest.fn(); // eslint-disable-line no-undef
const CheckServiceName = jest.fn(); // eslint-disable-line no-undef
const DeleteService = jest.fn(); // eslint-disable-line no-undef
const CheckUpdating = jest.fn(); // eslint-disable-line no-undef
//
// Dummy datas
//
const toolbardata = {
tenant: {name: '10000', display: 'GROUP0:TENANT0'},
service: 'dummyservice',
serviceOwner: true,
hasServiceTenant: false,
type: 'service',
name: 'dummyresource',
fullpath: 'yrn:yahoo:dummyservice::dummytenant:resource:dummyresource',
currentpath: 'dummyresource',
hasParent: true,
canCreatePath: false,
canCreateService: false
};
const r3provider = new R3Provider(null);
const userdata = {
userDataScript: r3provider.getR3Context().getUserData(),
roleToken: 'R=RoleToken_ForTestByJEST'
};
//
// Main test
//
describe('R3ToolBar', () => { // eslint-disable-line no-undef
it('test snapshot for R3ToolBar', () => { // eslint-disable-line no-undef
const element = getElementWithContext(
{
r3Context: r3provider.getR3Context()
},
<StyledEngineProvider injectFirst>
<ThemeProvider theme={ r3Theme } >
<CssBaseline />
<R3Toolbar
toolbarData={ toolbardata }
theme={ r3Theme }
r3provider={ r3provider }
userData={ userdata }
onArrawUpward={ ArrawUpward }
onCreatePath={ CreatePath }
onCheckPath={ CheckPath }
onDeletePath={ DeletePath }
onCreateService={ CreateService }
onCreateServiceTenant={ CreateServiceTenant }
onCheckServiceName={ CheckServiceName }
onDeleteService={ DeleteService }
onCheckUpdating={ CheckUpdating }
/>
</ThemeProvider>
</StyledEngineProvider>
);
const component = renderer.create(element, { createNodeMock });
let tree = component.toJSON();
expect(tree).toMatchSnapshot(); // eslint-disable-line no-undef
});
});
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* End:
* vim600: noexpandtab sw=4 ts=4 fdm=marker
* vim<600: noexpandtab sw=4 ts=4
*/