Closed gregberge closed 5 years ago
// Config method spec.
const createSeeds = ({ actions }) => {
actions.createSeed({
type: 'articles',
createContents({ actions }) {
const {
createContent,
createContentsFromFolder,
createMediasFromFolder,
} = actions
createContent({ name: '...', data: {} })
createContentsFromFolder({
node: ({ glob }) => glob({ cwd: `${__dirname}/pages`, path: '*' }),
webpack: () => require.context(`./pages`),
})
createMediasFromFolder({
node: ({ glob }) => glob({ cwd: `${__dirname}/pages`, path: '*' }),
webpack: () => require.context(`./pages`),
})
},
onCreateBackendPayload({ content, payload, actions }) {
const { createBackendPayload } = actions
createBackendPayload(payload)
},
onCreateMock({ content, mock, actions }) {
const { createMock } = actions
createMock(mock)
},
})
}
// Simple application with one author and one article as seeds
const createSeeds = ({ actions: { createSeed } }) => {
createSeed({
type: 'authors',
createContents({ actions: { createContent } }) {
createContent({
name: 'stefen',
data: {
firstName: 'Stefen',
lastName: 'Alper',
},
})
},
})
createSeed({
type: 'articles',
createContents({ seeds, actions: { createContent } }) {
createContent({
name: 'first-article',
data: {
author: seeds.authors.stefen,
title: 'My first article',
content: 'Text of my first article',
},
})
},
})
}
// Import mocks
import { getMock } from 'smooth/mocks'
const authors = getMock('authors')
import { createOtherSeeds } from "./otherSeeds.js";
const createSeeds = ({ actions }) => {
const {
createContents,
createMediaFromFolder,
createContentsFromFolder
} = actions
createMediaFromFolder({
onCreateBackendPayload({ content, payload, actions }) {
const { createBackendPayload } = actions
createBackendPayload(payload)
},
onCreateMock({ content, mock, actions }) {
const { createMock } = actions
createMock(mock)
},
node,
webpack
})
createContentsFromFolder({ node, webpack })
createContents({
type: "articles",
get({ actions: { createContent } }) {
createContent({ name: "foo", data: {} })
},
onCreateBackendPayload({ content, payload, actions }) {
const { createBackendPayload } = actions
createBackendPayload(payload)
},
onCreateMock({ content, mock, actions }) {
const { createMock } = actions
createMock(mock)
}
})
createOtherSeeds({ actions })
}
Define seeds
Seeds will be defined in a folder
seeds/data
.List all seeds
Use mocks
Command to run mocks