Untitled
unknown
plain_text
3 years ago
2.0 kB
18
Indexable
function getMockProps(props) {
const listOfValue = Object.entries(props)
.map((item) => {
if (typeof item[1] !== 'function') {
return `${item[0]}:{}`
}
})
.filter((item) => item !== undefined)
const listOfFunction = Object.entries(props)
.map((item) => {
if (typeof item[1] === 'function') {
return `${item[0]}:()=>{}`
}
})
.filter((item) => item !== undefined)
const mockProps = [...listOfFunction, ...listOfValue]
console.log(mockProps)
return 0
}
function getFunction(props, component) {
//test function in class
// const listOfValue = Object.entries(props)
// .map((item) => {
// if (typeof item[1] !== 'function') {
// return `${item[0]}:${item[1]}`
// }
// })
// .filter((item) => item !== undefined)
// const listOfFunction = Object.entries(props)
// .map((item) => {
// if (typeof item[1] === 'function') {
// return `${item[0]}:()=>{}`
// }
// })
// .filter((item) => item !== undefined)
// const mockProps = [...listOfFunction, ...listOfValue]
const instance = new component(props)
const listOfFunctionClass = Object.getOwnPropertyNames(
component.prototype
).filter((item) => item !== 'constructor')
const listOfArrowFunction = Object.entries(instance)
.map((item, index) => {
if (typeof item[1] === 'function') {
return item[0]
}
})
.filter((item) => item !== undefined)
const listOfAllFunction = listOfFunctionClass.concat(listOfArrowFunction)
const listOfFunctionTest = listOfAllFunction.map((item, index) => {
const props = () => {
if (item === 'UNSAFE_componentWillReceiveProps') {
return 'props'
} else if (item === 'componentDidUpdate') {
return 'props,props'
}
return null
}
return `test('${item}', ()=>{ expect(instance.${item}(${
props() === null ? '\'\',\'\',\'\',\'\'' : props()
})).toMatchSnapshot()})`
})
console.log('list of function test', listOfFunctionTest)
return 0
}
export { getFunction, getMockProps }
Editor is loading...