1
0
mirror of https://github.com/oceanprotocol/market.git synced 2024-11-15 01:34:57 +01:00
market/tests/unit/storyshots.test.tsx
2020-06-05 16:39:17 +03:00

89 lines
1.9 KiB
TypeScript

import initStoryshots from '@storybook/addon-storyshots'
import { render, wait } from '@testing-library/react'
import oceanMock from './__mocks__/ocean-mock'
import web3ProviderMock from './__mocks__/web3'
// eslint-disable-next-line
jest.mock('@oceanprotocol/react', () => ({
useOcean: () => {
return {
ocean: oceanMock
}
},
useWeb3: () => {
return {
web3: web3ProviderMock,
account: '0x0000000011111111aaaaaaaabbbbbbbb22222222',
ethProviderStatus: 1
}
},
useConsume: () => {
return {
consume: () => null as any,
consumeStepText: '',
isLoading: false
}
},
useMetadata: () => {
return {
getCuration: () => {
return Promise.resolve({ rating: 0, numVotes: 0 })
}
}
}
}))
// jest.mock('@oceanprotocol/squid')
// Stories are render-tested with @testing-library/react,
// overwriting default snapshot testing behavior
// eslint-disable-next-line
jest.mock('@oceanprotocol/react', () => ({
useOcean: () => {
return {
ocean: oceanMock
}
},
useWeb3: () => {
return {
web3: web3ProviderMock,
account: '0x0000000011111111aaaaaaaabbbbbbbb22222222',
ethProviderStatus: 1
}
},
useConsume: () => {
return {
consume: () => null as any,
consumeStepText: '',
isLoading: false
}
},
useCompute: () => {
return {
compute: () => null as any,
isLoading: false,
computeStepText: 0,
computeError: ''
}
},
useMetadata: () => {
return {
getCuration: () => {
return Promise.resolve({ rating: 0, numVotes: 0 })
}
}
},
computeOptions: ['', '']
}))
initStoryshots({
asyncJest: true,
test: async ({ story, done }) => {
const storyElement = story.render()
// render the story with @testing-library/react
render(storyElement)
await wait(() => done())
}
})