Skip to content

Commit

Permalink
Updates for testing
Browse files Browse the repository at this point in the history
  • Loading branch information
tiberiuichim committed Aug 5, 2021
1 parent aa07bd2 commit f3d3728
Show file tree
Hide file tree
Showing 5 changed files with 212 additions and 7 deletions.
9 changes: 8 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,18 @@ YELLOW=`tput setaf 3`
# npm install -g yo
# fi;

# packages:
# - '../'
# link-workspace-packages: true
# prefer-workspace-packages: true

make-frontend: ## Builds just the Volto project
npm install -g yo
npm install -g @plone/generator-volto
npm install -g mrs-developer
yo @plone/volto project --addon ${ADDON} --workspace "src/addons/${DIR}" --no-interactive
pnpm add "${ADDON}@workspace:*"
# --workspace "src/addons/${DIR}"
yo @plone/volto project --addon ${ADDON} --no-interactive
ln -sf $$(pwd) project/src/addons/
cp .project.eslintrc.js .eslintrc.js
cd project && \
Expand Down
73 changes: 68 additions & 5 deletions jest-addon.config.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
module.exports = {
testMatch: ['**/src/addons/**/?(*.)+(spec|test).[jt]s?(x)'],
// resolver: '<rootDir>/jest-resolver.js',
roots: ['.', '..'],
testMatch: ['**/src/**/?(*.)+(spec|test).[jt]s?(x)'],
collectCoverageFrom: [
'src/addons/**/src/**/*.{js,jsx,ts,tsx}',
'!src/**/*.d.ts',
],
globals: {
window: {},
"__DEV__": true
},
moduleNameMapper: {
'@plone/volto/cypress': '<rootDir>/node_modules/@plone/volto/cypress',
'@plone/volto/babel': '<rootDir>/node_modules/@plone/volto/babel',
Expand Down Expand Up @@ -33,8 +39,65 @@ module.exports = {
statements: 5,
},
},
haste: {
enableSymlinks: true,
},
"watchman": false,
};

//
// module.exports = {
// // resolver: '<rootDir>/jest-resolver.js',
//
// verbose: true,
// testMatch: [
// '**/src/addons/**/?(*.)+(spec|test).[jt]s?(x)',
// '../src/?(*.)+(spec|test).[jt]s?(x)',
// '?(*.)+(spec|test).[jt]s?(x)'
// ],
// collectCoverageFrom: [
// 'src/addons/**/src/**/*.{js,jsx,ts,tsx}',
// '!src/**/*.d.ts',
// ],
// moduleNameMapper: {
// '@plone/volto/cypress': '<rootDir>/node_modules/@plone/volto/cypress',
// '@plone/volto/babel': '<rootDir>/node_modules/@plone/volto/babel',
// '@plone/volto/(.*)$': '<rootDir>/node_modules/@plone/volto/src/$1',
// '@package/(.*)$': '<rootDir>/src/$1',
// '@plone/volto-quanta/(.*)$': '<rootDir>/src/addons/volto-quanta/src/$1',
// '@eeacms/(.*?)/(.*)$': '<rootDir>/src/addons/$1/src/$2',
// 'volto-slate/(.*)$': '<rootDir>/src/addons/volto-slate/src/$1',
// '~/(.*)$': '<rootDir>/src/$1',
// 'load-volto-addons': '<rootDir>/node_modules/@plone/volto/jest-addons-loader.js',
// },
// transform: {
// '^.+\\.js(x)?$': 'babel-jest',
// '^.+\\.css$': 'jest-css-modules',
// '^.+\\.less$': 'jest-css-modules',
// '^.+\\.scss$': 'jest-css-modules',
// '^.+\\.(png)$': 'jest-file',
// '^.+\\.(jpg)$': 'jest-file',
// '^.+\\.(svg)$': './node_modules/@plone/volto/jest-svgsystem-transform.js',
// },
//
// // "transformIgnorePatterns": [
// // "/node_modules/(?!@plone/volto).+\\.js$",
// // "/node_modules/(?!@eeacms/volto-columns-block).+\\.js$"
// // ],
// transformIgnorePatterns: [
// // "node_modules\/(?!@plone\/volto).+\\.js$"
// ],
//
// "testPathIgnorePatterns": [
// // "node_modules\/(?!@eeacms\/volto-columns-block).+\\.js$"
// ],
//
//
// coverageThreshold: {
// global: {
// branches: 5,
// functions: 5,
// lines: 5,
// statements: 5,
// },
// },
// haste: {
// enableSymlinks: true,
// },
// };
2 changes: 1 addition & 1 deletion src/ColumnsBlock/ColumnsBlockView.jsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import React from 'react';
import config from '@plone/volto/registry';
import { Grid } from 'semantic-ui-react';
import { RenderBlocks } from '@plone/volto/components';
import config from '@plone/volto/registry';
import { COLUMNSBLOCK } from '@eeacms/volto-columns-block/constants';

import { getColumns } from './utils';
Expand Down
107 changes: 107 additions & 0 deletions src/ColumnsBlock/ColumnsBlockView.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
import React from 'react';
import renderer from 'react-test-renderer';
import configureStore from 'redux-mock-store';
import { Provider } from 'react-intl-redux';
import config from '@plone/volto/registry';
import installColumnsBlock from '@eeacms/volto-columns-block';
import { waitFor, render, screen } from '@testing-library/react';

import ColumnsBlockView from './ColumnsBlockView';

const mockStore = configureStore();

const blockId = '1234';

const blocks = {
"1234": {
"@type": "columnsBlock",
"data": {
"blocks": {
"9d3b36b7-bc2c-4fd5-80f4-88d104443304": {
"blocks": {
"421f925b-b89f-4a30-b691-3ee14625101e": {
"@type": "text",
"text": "right"
}
},
"blocks_layout": {
"items": [
"421f925b-b89f-4a30-b691-3ee14625101e"
]
}
},
"b80e32c4-dbd9-481e-a98a-ba42b377e593": {
"blocks": {
"6cae4500-c1e2-408c-adee-ce87913b072f": {
"@type": "text",
"text": "left marker"
}
},
"blocks_layout": {
"items": [
"6cae4500-c1e2-408c-adee-ce87913b072f"
]
}
}
},
"blocks_layout": {
"items": [
"b80e32c4-dbd9-481e-a98a-ba42b377e593",
"9d3b36b7-bc2c-4fd5-80f4-88d104443304"
]
}
},
"gridCols": [
"halfWidth",
"halfWidth"
],
"gridSize": 12
}}


const Nop = (props) => <div></div>;
const TextView = ({data}) => {
return data.text;
};

test('renders 2 columns', async () => {
installColumnsBlock(config);
config.blocks.blocksConfig.text = {
id: 'text',
title: 'Text',
icon: Nop,
group: 'common',
view: TextView,
edit: TextView,
restricted: false,
mostUsed: false,
blockHasOwnFocusManagement: true,
sidebarTab: 1,
security: {
addPermission: [],
view: [],
},
}

const store = mockStore({
content: {
create: {},
data: {},
subrequests: {},
},
intl: {
locale: 'en',
messages: {},
},
});


const { container } = render(
<Provider store={store}>
<ColumnsBlockView data={blocks['1234']} metadata={{blocks}}/>
</Provider>,
);
await waitFor(() => screen.getByText('left marker'));
expect(container).toMatchSnapshot();

});
28 changes: 28 additions & 0 deletions src/ColumnsBlock/__snapshots__/ColumnsBlockView.test.js.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`renders 2 columns 1`] = `
<div>
<div
class="columns-view"
>
<div
class="ui twelve column grid column-grid"
>
<div
class="six wide computer twelve wide mobile six wide tablet column column-blocks-wrapper"
>
<div>
left marker
</div>
</div>
<div
class="six wide computer twelve wide mobile six wide tablet column column-blocks-wrapper"
>
<div>
right
</div>
</div>
</div>
</div>
</div>
`;

0 comments on commit f3d3728

Please sign in to comment.