reactions cells
This commit is contained in:
22
web/src/components/PartReactionsCell/PartReactionsCell.js
Normal file
22
web/src/components/PartReactionsCell/PartReactionsCell.js
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
export const QUERY = gql`
|
||||||
|
query PartReactionsQuery {
|
||||||
|
partReactions {
|
||||||
|
id
|
||||||
|
emote
|
||||||
|
user {
|
||||||
|
id
|
||||||
|
name
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`
|
||||||
|
|
||||||
|
export const Loading = () => <div>Loading...</div>
|
||||||
|
|
||||||
|
export const Empty = () => <div>Empty</div>
|
||||||
|
|
||||||
|
export const Failure = ({ error }) => <div>Error: {error.message}</div>
|
||||||
|
|
||||||
|
export const Success = ({ partReactions }) => {
|
||||||
|
return JSON.stringify(partReactions)
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
// Define your own mock data here:
|
||||||
|
export const standard = (/* vars, { ctx, req } */) => ({
|
||||||
|
partReactions: {
|
||||||
|
id: 42,
|
||||||
|
},
|
||||||
|
})
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
import { Loading, Empty, Failure, Success } from './PartReactionsCell'
|
||||||
|
import { standard } from './PartReactionsCell.mock'
|
||||||
|
|
||||||
|
export const loading = () => {
|
||||||
|
return Loading ? <Loading /> : null
|
||||||
|
}
|
||||||
|
|
||||||
|
export const empty = () => {
|
||||||
|
return Empty ? <Empty /> : null
|
||||||
|
}
|
||||||
|
|
||||||
|
export const failure = () => {
|
||||||
|
return Failure ? <Failure error={new Error('Oh no')} /> : null
|
||||||
|
}
|
||||||
|
|
||||||
|
export const success = () => {
|
||||||
|
return Success ? <Success {...standard()} /> : null
|
||||||
|
}
|
||||||
|
|
||||||
|
export default { title: 'Cells/PartReactionsCell' }
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
import { render, screen } from '@redwoodjs/testing'
|
||||||
|
import { Loading, Empty, Failure, Success } from './PartReactionsCell'
|
||||||
|
import { standard } from './PartReactionsCell.mock'
|
||||||
|
|
||||||
|
describe('PartReactionsCell', () => {
|
||||||
|
test('Loading renders successfully', () => {
|
||||||
|
render(<Loading />)
|
||||||
|
// Use screen.debug() to see output
|
||||||
|
expect(screen.getByText('Loading...')).toBeInTheDocument()
|
||||||
|
})
|
||||||
|
|
||||||
|
test('Empty renders successfully', async () => {
|
||||||
|
render(<Empty />)
|
||||||
|
expect(screen.getByText('Empty')).toBeInTheDocument()
|
||||||
|
})
|
||||||
|
|
||||||
|
test('Failure renders successfully', async () => {
|
||||||
|
render(<Failure error={new Error('Oh no')} />)
|
||||||
|
expect(screen.getByText(/Oh no/i)).toBeInTheDocument()
|
||||||
|
})
|
||||||
|
|
||||||
|
test('Success renders successfully', async () => {
|
||||||
|
render(<Success partReactions={standard().partReactions} />)
|
||||||
|
expect(screen.getByText(/42/i)).toBeInTheDocument()
|
||||||
|
})
|
||||||
|
})
|
||||||
Reference in New Issue
Block a user