test: remove component test suite
This commit is contained in:
@@ -1,16 +0,0 @@
|
|||||||
module.exports = {
|
|
||||||
moduleNameMapper: {
|
|
||||||
'\\.(css|scss)$': '<rootDir>/packages/payload/src/bundlers/mocks/emptyModule.js',
|
|
||||||
'\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$':
|
|
||||||
'<rootDir>/packages/payload/src/bundlers/mocks/fileMock.js',
|
|
||||||
},
|
|
||||||
setupFilesAfterEnv: ['./test/componentsSetup.js'],
|
|
||||||
testEnvironment: 'jsdom',
|
|
||||||
testPathIgnorePatterns: ['node_modules', 'dist'],
|
|
||||||
testRegex: '(/src/admin/.*\\.(test|spec))\\.[jt]sx?$',
|
|
||||||
testTimeout: 15000,
|
|
||||||
transform: {
|
|
||||||
'^.+\\.(t|j)sx?$': ['@swc/jest'],
|
|
||||||
},
|
|
||||||
verbose: true,
|
|
||||||
}
|
|
||||||
@@ -1,172 +0,0 @@
|
|||||||
import { render } from '@testing-library/react'
|
|
||||||
import React from 'react'
|
|
||||||
|
|
||||||
import type { BlockField, DateField, SelectField } from 'payload/types'
|
|
||||||
|
|
||||||
import { BlocksCell } from './fields/Blocks'
|
|
||||||
import { Checkbox } from './fields/Checkbox'
|
|
||||||
import { DateCell } from './fields/Date'
|
|
||||||
import { Select } from './fields/Select'
|
|
||||||
import { Textarea } from './fields/Textarea'
|
|
||||||
|
|
||||||
jest.mock('../../../../utilities/Config', () => ({
|
|
||||||
useConfig: () => ({ admin: { dateFormat: 'MMMM do yyyy, h:mm a' } }),
|
|
||||||
}))
|
|
||||||
|
|
||||||
jest.mock('../../../../providers/Translation', () => ({
|
|
||||||
useTranslation: () => ({ t: (string) => string }),
|
|
||||||
}))
|
|
||||||
|
|
||||||
describe('Cell Types', () => {
|
|
||||||
describe('Blocks', () => {
|
|
||||||
const field: BlockField = {
|
|
||||||
blocks: [
|
|
||||||
{
|
|
||||||
fields: [],
|
|
||||||
labels: {
|
|
||||||
plural: 'Numbers',
|
|
||||||
singular: 'Number',
|
|
||||||
},
|
|
||||||
slug: 'number',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
label: 'Blocks Content',
|
|
||||||
labels: {
|
|
||||||
plural: 'Blocks Content',
|
|
||||||
singular: 'Block',
|
|
||||||
},
|
|
||||||
name: 'blocks',
|
|
||||||
type: 'blocks',
|
|
||||||
}
|
|
||||||
|
|
||||||
it('renders multiple', () => {
|
|
||||||
const data = [{ blockType: 'number' }, { blockType: 'number' }]
|
|
||||||
const { container } = render(<BlocksCell data={data} field={field} />)
|
|
||||||
const el = container.querySelector('span')
|
|
||||||
expect(el).toHaveTextContent('2 Blocks Content - Number, Number')
|
|
||||||
})
|
|
||||||
|
|
||||||
it('renders zero', () => {
|
|
||||||
const data = []
|
|
||||||
const { container } = render(<BlocksCell data={data} field={field} />)
|
|
||||||
const el = container.querySelector('span')
|
|
||||||
expect(el).toHaveTextContent('0 Blocks Content')
|
|
||||||
})
|
|
||||||
|
|
||||||
it('renders "and X more" if over maximum of 5', () => {
|
|
||||||
const data = [
|
|
||||||
{ blockType: 'number' },
|
|
||||||
{ blockType: 'number' },
|
|
||||||
{ blockType: 'number' },
|
|
||||||
{ blockType: 'number' },
|
|
||||||
{ blockType: 'number' },
|
|
||||||
{ blockType: 'number' },
|
|
||||||
]
|
|
||||||
|
|
||||||
const { container } = render(<BlocksCell data={data} field={field} />)
|
|
||||||
const el = container.querySelector('span')
|
|
||||||
expect(el).toHaveTextContent('fields:itemsAndMore')
|
|
||||||
})
|
|
||||||
})
|
|
||||||
|
|
||||||
describe('Date', () => {
|
|
||||||
const field: DateField = {
|
|
||||||
admin: {
|
|
||||||
date: {
|
|
||||||
pickerAppearance: 'dayOnly',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
name: 'dayOnly',
|
|
||||||
type: 'date',
|
|
||||||
}
|
|
||||||
|
|
||||||
it('renders date', () => {
|
|
||||||
const timeStamp = '2020-10-06T14:07:39.033Z'
|
|
||||||
const { container } = render(<DateCell data={timeStamp} field={field} />)
|
|
||||||
const dateMatch = /October\s6th\s2020,\s\d{1,2}:07\s[A|P]M/ // Had to account for timezones in CI
|
|
||||||
const el = container.querySelector('span')
|
|
||||||
expect(el.textContent).toMatch(dateMatch)
|
|
||||||
})
|
|
||||||
|
|
||||||
it('handles undefined', () => {
|
|
||||||
const timeStamp = undefined
|
|
||||||
const { container } = render(<DateCell data={timeStamp} field={field} />)
|
|
||||||
const el = container.querySelector('span')
|
|
||||||
expect(el.textContent).toBe('')
|
|
||||||
})
|
|
||||||
})
|
|
||||||
|
|
||||||
describe('Checkbox', () => {
|
|
||||||
it('renders true', () => {
|
|
||||||
const { container } = render(<Checkbox data />)
|
|
||||||
const el = container.querySelector('span')
|
|
||||||
expect(el).toHaveTextContent('true')
|
|
||||||
})
|
|
||||||
it('renders false', () => {
|
|
||||||
const { container } = render(<Checkbox data={false} />)
|
|
||||||
const el = container.querySelector('span')
|
|
||||||
expect(el).toHaveTextContent('false')
|
|
||||||
})
|
|
||||||
})
|
|
||||||
|
|
||||||
describe('Textarea', () => {
|
|
||||||
it('renders data', () => {
|
|
||||||
const { container } = render(<Textarea data="data" />)
|
|
||||||
const el = container.querySelector('span')
|
|
||||||
expect(el).toHaveTextContent('data')
|
|
||||||
})
|
|
||||||
it('handle undefined - bug/13', () => {
|
|
||||||
const { container } = render(<Textarea data={undefined} />)
|
|
||||||
const el = container.querySelector('span')
|
|
||||||
expect(el).toHaveTextContent('')
|
|
||||||
})
|
|
||||||
})
|
|
||||||
describe('Select', () => {
|
|
||||||
const fieldWithOptionsObject: SelectField = {
|
|
||||||
name: 'selectObject',
|
|
||||||
options: [
|
|
||||||
{
|
|
||||||
label: 'One',
|
|
||||||
value: 'one',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: 'Two',
|
|
||||||
value: 'two',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
type: 'select',
|
|
||||||
}
|
|
||||||
const fieldWithStringsOptions: SelectField = {
|
|
||||||
name: 'selectString',
|
|
||||||
options: ['blue', 'green', 'yellow'],
|
|
||||||
type: 'select',
|
|
||||||
}
|
|
||||||
it('renders options objects', () => {
|
|
||||||
const { container } = render(<Select data="one" field={fieldWithOptionsObject} />)
|
|
||||||
const el = container.querySelector('span')
|
|
||||||
expect(el).toHaveTextContent('One')
|
|
||||||
})
|
|
||||||
it('renders option strings', () => {
|
|
||||||
const { container } = render(<Select data="blue" field={fieldWithStringsOptions} />)
|
|
||||||
const el = container.querySelector('span')
|
|
||||||
expect(el).toHaveTextContent('blue')
|
|
||||||
})
|
|
||||||
|
|
||||||
describe('HasMany', () => {
|
|
||||||
it('renders options objects', () => {
|
|
||||||
const { container } = render(
|
|
||||||
<Select data={['one', 'two']} field={fieldWithOptionsObject} />,
|
|
||||||
)
|
|
||||||
const el = container.querySelector('span')
|
|
||||||
expect(el).toHaveTextContent('One, Two')
|
|
||||||
})
|
|
||||||
it('renders option strings', () => {
|
|
||||||
const { container } = render(
|
|
||||||
<Select data={['blue', 'green']} field={fieldWithStringsOptions} />,
|
|
||||||
)
|
|
||||||
const el = container.querySelector('span')
|
|
||||||
expect(el).toHaveTextContent('blue, green')
|
|
||||||
})
|
|
||||||
})
|
|
||||||
})
|
|
||||||
})
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
import '@testing-library/jest-dom'
|
|
||||||
Reference in New Issue
Block a user