Merge pull request #92 from lowdefy/test-blockTools

Fix: list props must be an array of content() functions
This commit is contained in:
Sam 2020-10-27 14:33:19 +02:00 committed by GitHub
commit 4661256d9c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 27 additions and 34 deletions

View File

@ -1,6 +1,6 @@
{
"name": "@lowdefy/block-tools",
"version": "1.0.1-experimental.4",
"version": "1.0.1-experimental.5",
"licence": "Apache-2.0",
"description": "Lowdefy Block Tools",
"homepage": "https://lowdefy.com",

View File

@ -48,7 +48,7 @@ const blockDefaults = (Comp) => {
methods={defaultMethods(methods || {})}
Components={Components || {}}
content={content || {}}
list={list || {}}
list={list || []}
menus={menus || []}
properties={properties || {}}
user={user || {}}

View File

@ -31,7 +31,7 @@ test('default', () => {
actions={Object {}}
blockId="blockId_1f9add"
content={Object {}}
list={Object {}}
list={Array []}
menus={Array []}
methods={
Object {
@ -129,7 +129,7 @@ test('with no methods', () => {
actions={Object {}}
blockId="blockId_1f9add"
content={Object {}}
list={Object {}}
list={Array []}
menus={Array []}
methods={
Object {
@ -162,7 +162,7 @@ test('with methods', () => {
actions={Object {}}
blockId="blockId_1f9add"
content={Object {}}
list={Object {}}
list={Array []}
menus={Array []}
methods={
Object {

View File

@ -25,9 +25,9 @@ const mockBlockProps = (exBlock, meta) => {
}
if (block.areas) {
if (meta.category === 'list') {
const list = [];
block.list = [];
block.areas.content.forEach((bl) => {
list.push({
block.list.push({
content: () => (
<div key={bl.id} style={{ border: '1px solid red', padding: 10, width: '100%' }}>
{bl.id}
@ -35,9 +35,6 @@ const mockBlockProps = (exBlock, meta) => {
),
});
});
block.list = {
content: () => list.map((item) => item.content && item.content()),
};
} else {
block.content = {};
Object.keys(block.areas).forEach((key) => {

View File

@ -316,26 +316,26 @@ test('areas list', () => {
},
"blockId": "a",
"id": "a",
"list": Object {
"content": [Function],
},
"list": Array [
Object {
"content": [Function],
},
],
"type": "List",
}
`);
expect(res.list.content()).toMatchInlineSnapshot(`
Array [
<div
style={
Object {
"border": "1px solid red",
"padding": 10,
"width": "100%",
}
expect(res.list[0].content()).toMatchInlineSnapshot(`
<div
style={
Object {
"border": "1px solid red",
"padding": 10,
"width": "100%",
}
>
b
</div>,
]
}
>
b
</div>
`);
});

View File

@ -29,7 +29,7 @@
"dev": "webpack serve --config webpack.dev.js"
},
"dependencies": {
"@lowdefy/block-tools": "1.0.1-experimental.4",
"@lowdefy/block-tools": "1.0.1-experimental.5",
"@lowdefy/graphql": "0.0.0-experimental.0",
"apollo-server-express": "2.18.2",
"express": "4.17.1",

View File

@ -55,9 +55,6 @@ const List = ({ block, Blocks, Component, context, pageId, rootContext }) => {
});
contentList.push({ ...content });
});
const list = {
content: () => contentList.map((item) => item.content && item.content()),
};
return (
<BlockLayout
id={`bl-${block.blockId}`}
@ -81,8 +78,7 @@ const List = ({ block, Blocks, Component, context, pageId, rootContext }) => {
actions={block.eval.actions}
blockId={block.blockId}
Components={rootContext.Components}
content={contentList}
list={list}
list={contentList}
homePageId={rootContext.homePageId}
key={block.blockId}
loading={block.loading}

View File

@ -2708,7 +2708,7 @@ __metadata:
languageName: node
linkType: hard
"@lowdefy/block-tools@1.0.1-experimental.4, @lowdefy/block-tools@workspace:packages/blockTools":
"@lowdefy/block-tools@1.0.1-experimental.5, @lowdefy/block-tools@workspace:packages/blockTools":
version: 0.0.0-use.local
resolution: "@lowdefy/block-tools@workspace:packages/blockTools"
dependencies:
@ -2827,7 +2827,7 @@ __metadata:
dependencies:
"@babel/core": 7.12.3
"@babel/preset-react": 7.12.1
"@lowdefy/block-tools": 1.0.1-experimental.4
"@lowdefy/block-tools": 1.0.1-experimental.5
"@lowdefy/graphql": 0.0.0-experimental.0
apollo-server-express: 2.18.2
babel-loader: 8.1.0