react-collection-helpers
Version:
React Collection Helpers Component
67 lines (65 loc) • 1.83 kB
JavaScript
import React from 'react';
import { storiesOf } from '@kadira/storybook';
import Some from '../Some';
storiesOf('Some', module).add('With an invalid collection (should be empty)', function () {
return React.createElement(
Some,
{
collection: [{ id: 'a', name: 'apple', inStock: false }, { id: 'b', name: 'banana', inStock: false }, { id: 'c', name: 'carrot', inStock: false }],
predicate: function predicate(item) {
return item.inStock;
}
},
function (item) {
return React.createElement(
'div',
{ key: item.id },
item.name
);
}
);
}).add('With fallback content for an invalid collection', function () {
return React.createElement(
Some,
{
collection: [{ id: 'a', name: 'apple', inStock: false }, { id: 'b', name: 'banana', inStock: false }, { id: 'c', name: 'carrot', inStock: false }],
predicate: function predicate(item) {
return item.inStock;
},
fallback: React.createElement(
'div',
null,
'Sorry, this collection is invalid.'
)
},
function (item) {
return React.createElement(
'div',
{ key: item.id },
item.name
);
}
);
}).add('With a single valid item', function () {
return React.createElement(
Some,
{
collection: [{ id: 'a', name: 'apple', inStock: true }, { id: 'b', name: 'banana', inStock: false }, { id: 'c', name: 'carrot', inStock: false }],
predicate: function predicate(item) {
return item.inStock;
},
fallback: React.createElement(
'div',
null,
'Sorry, this collection is invalid.'
)
},
function (item) {
return React.createElement(
'div',
{ key: item.id },
item.name
);
}
);
});