Fix ui tests
This commit is contained in:
parent
b20229f995
commit
fb261cc299
|
@ -2,6 +2,7 @@ import React from 'react'
|
||||||
import { fireEvent, render, screen, waitFor } from '@testing-library/react'
|
import { fireEvent, render, screen, waitFor } from '@testing-library/react'
|
||||||
import PeoplePage, {
|
import PeoplePage, {
|
||||||
FaceDetails,
|
FaceDetails,
|
||||||
|
FaceGroup,
|
||||||
MY_FACES_QUERY,
|
MY_FACES_QUERY,
|
||||||
SET_GROUP_LABEL_MUTATION,
|
SET_GROUP_LABEL_MUTATION,
|
||||||
} from './PeoplePage'
|
} from './PeoplePage'
|
||||||
|
@ -198,11 +199,9 @@ describe('FaceDetails component', () => {
|
||||||
]
|
]
|
||||||
render(
|
render(
|
||||||
<MockedProvider mocks={graphqlMocks} addTypename={false}>
|
<MockedProvider mocks={graphqlMocks} addTypename={false}>
|
||||||
<FaceDetails
|
<MemoryRouter>
|
||||||
editLabel={false}
|
<FaceGroup group={faceGroup} />
|
||||||
setEditLabel={jest.fn()}
|
</MemoryRouter>
|
||||||
group={faceGroup}
|
|
||||||
/>
|
|
||||||
</MockedProvider>
|
</MockedProvider>
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -223,4 +222,30 @@ describe('FaceDetails component', () => {
|
||||||
expect(graphqlMocks[0].newData).toHaveBeenCalled()
|
expect(graphqlMocks[0].newData).toHaveBeenCalled()
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
test('cancel add label to face group', async () => {
|
||||||
|
render(
|
||||||
|
<MockedProvider mocks={[]} addTypename={false}>
|
||||||
|
<MemoryRouter>
|
||||||
|
<FaceGroup group={faceGroup} />
|
||||||
|
</MemoryRouter>
|
||||||
|
</MockedProvider>
|
||||||
|
)
|
||||||
|
|
||||||
|
const btn = screen.getByRole('button')
|
||||||
|
expect(btn).toBeInTheDocument()
|
||||||
|
expect(screen.queryByRole('textbox')).not.toBeInTheDocument()
|
||||||
|
expect(screen.queryByText('Unlabeled')).toBeInTheDocument()
|
||||||
|
|
||||||
|
fireEvent.click(btn)
|
||||||
|
|
||||||
|
const input = screen.getByRole('textbox')
|
||||||
|
expect(input).toBeInTheDocument()
|
||||||
|
expect(input).toHaveValue('')
|
||||||
|
|
||||||
|
fireEvent.change(input, { target: { value: 'John Doe' } })
|
||||||
|
fireEvent.keyDown(input, { key: 'Escape', code: 'Escape' })
|
||||||
|
|
||||||
|
expect(screen.queryByText('Unlabeled')).toBeInTheDocument()
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
|
@ -193,7 +193,7 @@ type FaceGroupProps = {
|
||||||
group: myFaces_myFaceGroups
|
group: myFaces_myFaceGroups
|
||||||
}
|
}
|
||||||
|
|
||||||
const FaceGroup = ({ group }: FaceGroupProps) => {
|
export const FaceGroup = ({ group }: FaceGroupProps) => {
|
||||||
const previewFace = group.imageFaces[0]
|
const previewFace = group.imageFaces[0]
|
||||||
const [editLabel, setEditLabel] = useState(false)
|
const [editLabel, setEditLabel] = useState(false)
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
import { render, screen } from '@testing-library/react'
|
import { render, screen } from '@testing-library/react'
|
||||||
import { MetadataInfo } from './MediaSidebar'
|
import ExifDetails from './MediaSidebarExif'
|
||||||
|
|
||||||
describe('MetadataInfo', () => {
|
describe('ExifDetails', () => {
|
||||||
test('without EXIF information', async () => {
|
test('without EXIF information', async () => {
|
||||||
const media = {
|
const media = {
|
||||||
id: '1730',
|
id: '1730',
|
||||||
|
@ -25,7 +25,7 @@ describe('MetadataInfo', () => {
|
||||||
__typename: 'Media',
|
__typename: 'Media',
|
||||||
}
|
}
|
||||||
|
|
||||||
render(<MetadataInfo media={media} />)
|
render(<ExifDetails media={media} />)
|
||||||
|
|
||||||
expect(screen.queryByText('Camera')).not.toBeInTheDocument()
|
expect(screen.queryByText('Camera')).not.toBeInTheDocument()
|
||||||
expect(screen.queryByText('Maker')).not.toBeInTheDocument()
|
expect(screen.queryByText('Maker')).not.toBeInTheDocument()
|
||||||
|
@ -61,7 +61,7 @@ describe('MetadataInfo', () => {
|
||||||
__typename: 'Media',
|
__typename: 'Media',
|
||||||
}
|
}
|
||||||
|
|
||||||
render(<MetadataInfo media={media} />)
|
render(<ExifDetails media={media} />)
|
||||||
|
|
||||||
expect(screen.getByText('Camera')).toBeInTheDocument()
|
expect(screen.getByText('Camera')).toBeInTheDocument()
|
||||||
expect(screen.getByText('Canon EOS R')).toBeInTheDocument()
|
expect(screen.getByText('Canon EOS R')).toBeInTheDocument()
|
Loading…
Reference in New Issue