1
Fork 0

add ScannerConcurrentWorkers.test

This commit is contained in:
“boz” 2022-03-24 16:42:16 +08:00
parent cb5eb0e24c
commit ec77bc7fb1
3 changed files with 58 additions and 6 deletions

View File

@ -0,0 +1,54 @@
import React from 'react'
import { MockedProvider } from '@apollo/client/testing'
import { render, screen } from '@testing-library/react'
import {
CONCURRENT_WORKERS_QUERY,
SET_CONCURRENT_WORKERS_MUTATION,
ScannerConcurrentWorkers,
} from './ScannerConcurrentWorkers'
describe('load correct share page, based on graphql query', () => {
const graphqlMocks = [
{
request: {
query: CONCURRENT_WORKERS_QUERY,
},
result: {
data: {
siteInfo: { concurrentWorkers: 3 },
},
},
},
{
request: {
query: SET_CONCURRENT_WORKERS_MUTATION,
variables: {
workers: '1',
},
},
result: {
data: {},
},
},
]
test('load media share page', async () => {
render(
<MockedProvider
mocks={graphqlMocks}
addTypename={false}
defaultOptions={{
// disable cache, required to make fragments work
watchQuery: { fetchPolicy: 'no-cache' },
query: { fetchPolicy: 'no-cache' },
}}
>
<ScannerConcurrentWorkers />
</MockedProvider>
)
expect(screen.getByText('Scanner concurrent workers')).toBeInTheDocument()
})
})

View File

@ -9,7 +9,7 @@ import {
} from './__generated__/setConcurrentWorkers'
import { TextField } from '../../primitives/form/Input'
const CONCURRENT_WORKERS_QUERY = gql`
export const CONCURRENT_WORKERS_QUERY = gql`
query concurrentWorkersQuery {
siteInfo {
concurrentWorkers
@ -17,13 +17,13 @@ const CONCURRENT_WORKERS_QUERY = gql`
}
`
const SET_CONCURRENT_WORKERS_MUTATION = gql`
export const SET_CONCURRENT_WORKERS_MUTATION = gql`
mutation setConcurrentWorkers($workers: Int!) {
setScannerConcurrentWorkers(workers: $workers)
}
`
const ScannerConcurrentWorkers = () => {
export const ScannerConcurrentWorkers = () => {
const { t } = useTranslation()
const workerAmountServerValue = useRef<null | number>(null)
@ -86,5 +86,3 @@ const ScannerConcurrentWorkers = () => {
</div>
)
}
export default ScannerConcurrentWorkers

View File

@ -1,7 +1,7 @@
import React from 'react'
import { useMutation, gql } from '@apollo/client'
import PeriodicScanner from './PeriodicScanner'
import ScannerConcurrentWorkers from './ScannerConcurrentWorkers'
import { ScannerConcurrentWorkers } from './ScannerConcurrentWorkers'
import { SectionTitle, InputLabelDescription } from './SettingsPage'
import { useTranslation } from 'react-i18next'
import { scanAllMutation } from './__generated__/scanAllMutation'