From 7a20811156bc88d2a8fa349b78941ef5988b4ffd Mon Sep 17 00:00:00 2001 From: ismay Date: Thu, 2 Nov 2023 12:32:33 +0100 Subject: [PATCH] refactor: finish naming updates --- .../integration/add-route/info-link/index.js | 4 +- .../integration/edit-route/info-link/index.js | 4 +- .../list-route/filter-jobs/index.js | 2 +- .../integration/list-route/info-link/index.js | 4 +- .../integration/view-route/info-link/index.js | 4 +- src/components/Routes/Routes.js | 4 +- src/components/Store/Store.js | 4 +- src/components/Store/StoreContext.js | 2 +- src/components/Store/hooks.js | 9 +-- src/components/Store/hooks.test.js | 14 ++-- src/components/Store/index.js | 4 +- src/pages/JobAdd/JobAdd.js | 4 +- .../JobAndQueueList.js} | 36 +++++---- .../JobAndQueueList.module.css} | 0 .../JobAndQueueList.test.js} | 12 +-- .../JobAndQueueList/filter-jobs-and-queues.js | 20 +++++ .../filter-jobs-and-queues.test.js | 80 +++++++++++++++++++ src/pages/JobAndQueueList/index.js | 3 + src/pages/JobEdit/JobEdit.js | 4 +- src/pages/JobList/filter-jobs.js | 14 ---- src/pages/JobList/filter-jobs.test.js | 58 -------------- src/pages/JobList/index.js | 3 - src/pages/JobView/JobView.js | 4 +- 23 files changed, 162 insertions(+), 131 deletions(-) rename src/pages/{JobList/JobList.js => JobAndQueueList/JobAndQueueList.js} (73%) rename src/pages/{JobList/JobList.module.css => JobAndQueueList/JobAndQueueList.module.css} (100%) rename src/pages/{JobList/JobList.test.js => JobAndQueueList/JobAndQueueList.test.js} (81%) create mode 100644 src/pages/JobAndQueueList/filter-jobs-and-queues.js create mode 100644 src/pages/JobAndQueueList/filter-jobs-and-queues.test.js create mode 100644 src/pages/JobAndQueueList/index.js delete mode 100644 src/pages/JobList/filter-jobs.js delete mode 100644 src/pages/JobList/filter-jobs.test.js delete mode 100644 src/pages/JobList/index.js diff --git a/cypress/integration/add-route/info-link/index.js b/cypress/integration/add-route/info-link/index.js index d90b71deb..06cb4c061 100644 --- a/cypress/integration/add-route/info-link/index.js +++ b/cypress/integration/add-route/info-link/index.js @@ -1,7 +1,7 @@ import { Given, Then } from 'cypress-cucumber-preprocessor/steps' const infoHref = - 'https://docs.dhis2.org/en/use/user-guides/dhis-core-version-236/maintaining-the-system/scheduling.html' + 'https://docs.dhis2.org/en/use/user-guides/dhis-core-version-master/maintaining-the-system/scheduling.html' Given('the user navigated to the add job page', () => { cy.visit('/#/job/add') @@ -9,7 +9,7 @@ Given('the user navigated to the add job page', () => { }) Then('there is a link to the documentation', () => { - cy.findByRole('link', { name: 'About job configuration' }) + cy.findByRole('link', { name: 'About the scheduler' }) .should('exist') .should('have.attr', 'href', infoHref) .should('have.attr', 'target', '_blank') diff --git a/cypress/integration/edit-route/info-link/index.js b/cypress/integration/edit-route/info-link/index.js index b64709acb..10f5b6767 100644 --- a/cypress/integration/edit-route/info-link/index.js +++ b/cypress/integration/edit-route/info-link/index.js @@ -1,7 +1,7 @@ import { Given, Then } from 'cypress-cucumber-preprocessor/steps' const infoHref = - 'https://docs.dhis2.org/en/use/user-guides/dhis-core-version-236/maintaining-the-system/scheduling.html' + 'https://docs.dhis2.org/en/use/user-guides/dhis-core-version-master/maintaining-the-system/scheduling.html' Given('a single user job exists', () => { cy.intercept( @@ -16,7 +16,7 @@ Given('the user navigated to the edit job page', () => { }) Then('there is a link to the documentation', () => { - cy.findByRole('link', { name: 'About job configuration' }) + cy.findByRole('link', { name: 'About the scheduler' }) .should('exist') .should('have.attr', 'href', infoHref) .should('have.attr', 'target', '_blank') diff --git a/cypress/integration/list-route/filter-jobs/index.js b/cypress/integration/list-route/filter-jobs/index.js index 50cc09bb3..62e29b055 100644 --- a/cypress/integration/list-route/filter-jobs/index.js +++ b/cypress/integration/list-route/filter-jobs/index.js @@ -36,7 +36,7 @@ Given('the user enables the include-system-jobs-in-list toggle', () => { }) When('the user enters a filter string', () => { - cy.findByRole('searchbox', { name: 'Filter jobs' }).type('1') + cy.findByRole('searchbox', { name: 'Filter by name' }).type('1') }) Then('only user jobs that match the filter will be shown', () => { diff --git a/cypress/integration/list-route/info-link/index.js b/cypress/integration/list-route/info-link/index.js index f6f2141aa..4b9d6ef64 100644 --- a/cypress/integration/list-route/info-link/index.js +++ b/cypress/integration/list-route/info-link/index.js @@ -1,7 +1,7 @@ import { Given, Then } from 'cypress-cucumber-preprocessor/steps' const infoHref = - 'https://docs.dhis2.org/en/use/user-guides/dhis-core-version-236/maintaining-the-system/scheduling.html' + 'https://docs.dhis2.org/en/use/user-guides/dhis-core-version-master/maintaining-the-system/scheduling.html' Given('the user navigated to the job list page', () => { cy.visit('/') @@ -9,7 +9,7 @@ Given('the user navigated to the job list page', () => { }) Then('there is a link to the documentation', () => { - cy.findByRole('link', { name: 'About job configuration' }) + cy.findByRole('link', { name: 'About the scheduler' }) .should('exist') .should('have.attr', 'href', infoHref) .should('have.attr', 'target', '_blank') diff --git a/cypress/integration/view-route/info-link/index.js b/cypress/integration/view-route/info-link/index.js index a0fbe1ed0..486360fec 100644 --- a/cypress/integration/view-route/info-link/index.js +++ b/cypress/integration/view-route/info-link/index.js @@ -1,7 +1,7 @@ import { Given, Then } from 'cypress-cucumber-preprocessor/steps' const infoHref = - 'https://docs.dhis2.org/en/use/user-guides/dhis-core-version-236/maintaining-the-system/scheduling.html' + 'https://docs.dhis2.org/en/use/user-guides/dhis-core-version-master/maintaining-the-system/scheduling.html' Given('a single system job exists', () => { cy.intercept( @@ -18,7 +18,7 @@ Given('the user navigated to the view job page', () => { }) Then('there is a link to the documentation', () => { - cy.findByRole('link', { name: 'About job configuration' }) + cy.findByRole('link', { name: 'About the scheduler' }) .should('exist') .should('have.attr', 'href', infoHref) .should('have.attr', 'target', '_blank') diff --git a/src/components/Routes/Routes.js b/src/components/Routes/Routes.js index 01050532a..593cb3701 100644 --- a/src/components/Routes/Routes.js +++ b/src/components/Routes/Routes.js @@ -1,7 +1,7 @@ import React from 'react' import { Route, Switch, Redirect } from 'react-router-dom' import { Router } from 'react-router' -import JobList from '../../pages/JobList' +import JobAndQueueList from '../../pages/JobAndQueueList' import JobAdd from '../../pages/JobAdd' import QueueAdd from '../../pages/QueueAdd' import QueueEdit from '../../pages/QueueEdit' @@ -14,7 +14,7 @@ const Routes = () => ( - + diff --git a/src/components/Store/Store.js b/src/components/Store/Store.js index bd07bc9f7..14d929428 100644 --- a/src/components/Store/Store.js +++ b/src/components/Store/Store.js @@ -4,13 +4,13 @@ import StoreContext from './StoreContext' const Store = ({ children }) => { // State that should persist - const jobFilterState = useState('') + const jobAndQueueFilterState = useState('') const showSystemJobsState = useState(false) return ( diff --git a/src/components/Store/StoreContext.js b/src/components/Store/StoreContext.js index b4b4ab65c..58f944c7f 100644 --- a/src/components/Store/StoreContext.js +++ b/src/components/Store/StoreContext.js @@ -1,7 +1,7 @@ import { createContext } from 'react' const StoreContext = createContext({ - jobFilter: '', + jobAndQueueFilter: '', showSystemJobs: false, }) diff --git a/src/components/Store/hooks.js b/src/components/Store/hooks.js index a2ade9243..0b5249639 100644 --- a/src/components/Store/hooks.js +++ b/src/components/Store/hooks.js @@ -2,14 +2,13 @@ import { useContext } from 'react' import StoreContext from './StoreContext' /** - * The state for the job filter and showing system - * jobs is used in the job list, but kept in the - * store since it has to persist after a refetch. + * These hooks are used in the job and queue list, but are connected + * to the store since they have to persist after a refetch. */ -export const useJobFilter = () => { +export const useJobAndQueueFilter = () => { const store = useContext(StoreContext) - return store.jobFilter + return store.jobAndQueueFilter } export const useShowSystemJobs = () => { diff --git a/src/components/Store/hooks.test.js b/src/components/Store/hooks.test.js index a44eda2dc..d55dff04b 100644 --- a/src/components/Store/hooks.test.js +++ b/src/components/Store/hooks.test.js @@ -1,22 +1,22 @@ import React from 'react' import { renderHook } from '@testing-library/react-hooks' -import { useJobFilter, useShowSystemJobs } from './hooks' +import { useJobAndQueueFilter, useShowSystemJobs } from './hooks' import StoreContext from './StoreContext' -describe('useJobFilter', () => { - it('should return the jobFilter part of the store', () => { - const jobFilter = 'jobFilter' +describe('useJobAndQueueFilter', () => { + it('should return the jobAndQueueFilter part of the store', () => { + const jobAndQueueFilter = 'jobAndQueueFilter' const store = { - jobFilter, + jobAndQueueFilter, } const wrapper = ({ children }) => ( {children} ) - const { result } = renderHook(() => useJobFilter(), { wrapper }) + const { result } = renderHook(() => useJobAndQueueFilter(), { wrapper }) - expect(result.current).toBe(jobFilter) + expect(result.current).toBe(jobAndQueueFilter) }) }) diff --git a/src/components/Store/index.js b/src/components/Store/index.js index e7cea87b3..c4998afed 100644 --- a/src/components/Store/index.js +++ b/src/components/Store/index.js @@ -1,4 +1,4 @@ -import { useJobFilter, useShowSystemJobs } from './hooks' +import { useJobAndQueueFilter, useShowSystemJobs } from './hooks' export { default as Store } from './Store' -export { useJobFilter, useShowSystemJobs } +export { useJobAndQueueFilter, useShowSystemJobs } diff --git a/src/pages/JobAdd/JobAdd.js b/src/pages/JobAdd/JobAdd.js index 3e8e36b30..aa39e00a8 100644 --- a/src/pages/JobAdd/JobAdd.js +++ b/src/pages/JobAdd/JobAdd.js @@ -5,7 +5,7 @@ import { JobAddFormContainer } from '../../components/Forms' import styles from './JobAdd.module.css' const infoLink = - 'https://docs.dhis2.org/en/use/user-guides/dhis-core-version-236/maintaining-the-system/scheduling.html' + 'https://docs.dhis2.org/en/use/user-guides/dhis-core-version-master/maintaining-the-system/scheduling.html' const JobAdd = () => { return ( @@ -27,7 +27,7 @@ const JobAdd = () => { - {i18n.t('About job configuration')} + {i18n.t('About the scheduler')} diff --git a/src/pages/JobList/JobList.js b/src/pages/JobAndQueueList/JobAndQueueList.js similarity index 73% rename from src/pages/JobList/JobList.js rename to src/pages/JobAndQueueList/JobAndQueueList.js index 668c434a9..3aa15fad6 100644 --- a/src/pages/JobList/JobList.js +++ b/src/pages/JobAndQueueList/JobAndQueueList.js @@ -2,18 +2,18 @@ import React from 'react' import { NoticeBox, Card, Checkbox, InputField, IconInfo16 } from '@dhis2/ui' import i18n from '@dhis2/d2-i18n' import { useJobsAndQueues } from '../../hooks/jobs-and-queues' -import { useJobFilter, useShowSystemJobs } from '../../components/Store' +import { useJobAndQueueFilter, useShowSystemJobs } from '../../components/Store' import { JobTable } from '../../components/JobTable' import { LinkButton } from '../../components/LinkButton' import { Spinner } from '../../components/Spinner' -import styles from './JobList.module.css' -import filterJobs from './filter-jobs' +import styles from './JobAndQueueList.module.css' +import filterJobsAndQueues from './filter-jobs-and-queues' const infoLink = - 'https://docs.dhis2.org/en/use/user-guides/dhis-core-version-236/maintaining-the-system/scheduling.html' + 'https://docs.dhis2.org/en/use/user-guides/dhis-core-version-master/maintaining-the-system/scheduling.html' -const JobList = () => { - const [jobFilter, setJobFilter] = useJobFilter() +const JobAndQueueList = () => { + const [jobAndQueueFilter, setJobAndQueueFilter] = useJobAndQueueFilter() const [showSystemJobs, setShowSystemJobs] = useShowSystemJobs() const { data, loading, error, refetch } = useJobsAndQueues() @@ -23,16 +23,20 @@ const JobList = () => { if (error) { return ( - + {i18n.t( - 'Something went wrong whilst loading the jobs. Try refreshing the page.' + 'Something went wrong whilst loading the jobs and queues. Try refreshing the page.' )} ) } // Apply the current filter settings - const jobsAndQueues = filterJobs({ jobFilter, showSystemJobs, jobs: data }) + const jobsAndQueues = filterJobsAndQueues({ + jobAndQueueFilter, + showSystemJobs, + jobsAndQueues: data, + }) return ( @@ -49,21 +53,21 @@ const JobList = () => { - {i18n.t('About job configuration')} + {i18n.t('About the scheduler')}
{ - setJobFilter(value) + setJobAndQueueFilter(value) }} - value={jobFilter} + value={jobAndQueueFilter} type="search" role="searchbox" - name="job-filter" + name="name-filter" />
{ ) } -export default JobList +export default JobAndQueueList diff --git a/src/pages/JobList/JobList.module.css b/src/pages/JobAndQueueList/JobAndQueueList.module.css similarity index 100% rename from src/pages/JobList/JobList.module.css rename to src/pages/JobAndQueueList/JobAndQueueList.module.css diff --git a/src/pages/JobList/JobList.test.js b/src/pages/JobAndQueueList/JobAndQueueList.test.js similarity index 81% rename from src/pages/JobList/JobList.test.js rename to src/pages/JobAndQueueList/JobAndQueueList.test.js index a68cb839e..18d28083a 100644 --- a/src/pages/JobList/JobList.test.js +++ b/src/pages/JobAndQueueList/JobAndQueueList.test.js @@ -1,22 +1,22 @@ import React from 'react' import { shallow } from 'enzyme' import { useJobsAndQueues } from '../../hooks/jobs-and-queues' -import JobList from './JobList' +import JobAndQueueList from './JobAndQueueList' jest.mock('../../hooks/jobs-and-queues', () => ({ useJobsAndQueues: jest.fn(), })) jest.mock('../../components/Store', () => ({ - useJobFilter: jest.fn(() => ['', () => {}]), + useJobAndQueueFilter: jest.fn(() => ['', () => {}]), useShowSystemJobs: jest.fn(() => [false, () => {}]), })) -describe('', () => { +describe('', () => { it('renders a spinner when loading the jobs and queues', () => { useJobsAndQueues.mockImplementation(() => ({ loading: true })) - const wrapper = shallow() + const wrapper = shallow() const spinner = wrapper.find('Spinner') expect(spinner).toHaveLength(1) @@ -28,7 +28,7 @@ describe('', () => { error: new Error('Something went wrong'), })) - const wrapper = shallow() + const wrapper = shallow() const noticebox = wrapper.find('NoticeBox') expect(noticebox).toHaveLength(1) @@ -47,7 +47,7 @@ describe('', () => { refetch: () => {}, })) - const wrapper = shallow() + const wrapper = shallow() const jobtable = wrapper.find('JobTable') expect(jobtable).toHaveLength(1) diff --git a/src/pages/JobAndQueueList/filter-jobs-and-queues.js b/src/pages/JobAndQueueList/filter-jobs-and-queues.js new file mode 100644 index 000000000..7db6e18dc --- /dev/null +++ b/src/pages/JobAndQueueList/filter-jobs-and-queues.js @@ -0,0 +1,20 @@ +const filterJobsAndQueues = ({ + jobAndQueueFilter, + showSystemJobs, + jobsAndQueues, +}) => { + // Filter jobs and queues by the current jobAndQueueFilter + const applyJobAndQueueFilter = (jobOrQueue) => + jobOrQueue.name.toLowerCase().includes(jobAndQueueFilter.toLowerCase()) + + // Filter jobs depending on the current showSystemJobs + const applyShowSystemJobs = (jobOrQueue) => + // Jobs that are configurable are user jobs + showSystemJobs ? true : jobOrQueue.configurable + + return jobsAndQueues + .filter(applyJobAndQueueFilter) + .filter(applyShowSystemJobs) +} + +export default filterJobsAndQueues diff --git a/src/pages/JobAndQueueList/filter-jobs-and-queues.test.js b/src/pages/JobAndQueueList/filter-jobs-and-queues.test.js new file mode 100644 index 000000000..69c1b8ab3 --- /dev/null +++ b/src/pages/JobAndQueueList/filter-jobs-and-queues.test.js @@ -0,0 +1,80 @@ +import filterJobsAndQueues from './filter-jobs-and-queues' + +describe('filterJobsAndQueues', () => { + it('should filter jobs and queues by the current jobAndQueueFilter', () => { + const jobAndQueueFilter = 'One' + const showSystemJobs = true + const expected = { name: 'One', configurable: true } + const jobsAndQueues = [expected, { name: 'Two', configurable: true }] + + expect( + filterJobsAndQueues({ + jobAndQueueFilter, + showSystemJobs, + jobsAndQueues, + }) + ).toEqual([expected]) + }) + + it('should ignore job or queue name capitalization', () => { + const jobAndQueueFilter = 'one' + const showSystemJobs = true + const expected = { name: 'One', configurable: true } + const jobsAndQueues = [expected, { name: 'Two', configurable: true }] + + expect( + filterJobsAndQueues({ + jobAndQueueFilter, + showSystemJobs, + jobsAndQueues, + }) + ).toEqual([expected]) + }) + + it('should ignore jobAndQueueFilter capitalization', () => { + const jobAndQueueFilter = 'One' + const showSystemJobs = true + const expected = { name: 'one', configurable: true } + const jobsAndQueues = [expected, { name: 'Two', configurable: true }] + + expect( + filterJobsAndQueues({ + jobAndQueueFilter, + showSystemJobs, + jobsAndQueues, + }) + ).toEqual([expected]) + }) + + it('should show system jobs and user jobs if showSystemJobs is true', () => { + const jobAndQueueFilter = '' + const showSystemJobs = true + const jobsAndQueues = [ + { name: 'One', configurable: false }, + { name: 'Two', configurable: true }, + ] + + expect( + filterJobsAndQueues({ + jobAndQueueFilter, + showSystemJobs, + jobsAndQueues, + }) + ).toEqual(jobsAndQueues) + }) + + it('should hide system jobs and show user jobs if showSystemJobs is false', () => { + const jobAndQueueFilter = '' + const showSystemJobs = false + const expected = { name: 'Two', configurable: true } + const jobsAndQueues = [{ name: 'One', configurable: false }, expected] + + expect( + filterJobsAndQueues({ + jobAndQueueFilter, + showSystemJobs, + jobsAndQueues, + }) + ).toEqual([expected]) + }) +}) diff --git a/src/pages/JobAndQueueList/index.js b/src/pages/JobAndQueueList/index.js new file mode 100644 index 000000000..20530f9e1 --- /dev/null +++ b/src/pages/JobAndQueueList/index.js @@ -0,0 +1,3 @@ +import JobAndQueueList from './JobAndQueueList' + +export default JobAndQueueList diff --git a/src/pages/JobEdit/JobEdit.js b/src/pages/JobEdit/JobEdit.js index 2dbb3d1f6..0fb996a3f 100644 --- a/src/pages/JobEdit/JobEdit.js +++ b/src/pages/JobEdit/JobEdit.js @@ -7,7 +7,7 @@ import { JobDetails } from '../../components/JobDetails' import styles from './JobEdit.module.css' const infoLink = - 'https://docs.dhis2.org/en/use/user-guides/dhis-core-version-236/maintaining-the-system/scheduling.html' + 'https://docs.dhis2.org/en/use/user-guides/dhis-core-version-master/maintaining-the-system/scheduling.html' const JobEdit = ({ job }) => { const { name, created, lastExecutedStatus, lastExecuted } = job @@ -36,7 +36,7 @@ const JobEdit = ({ job }) => { - {i18n.t('About job configuration')} + {i18n.t('About the scheduler')}
diff --git a/src/pages/JobList/filter-jobs.js b/src/pages/JobList/filter-jobs.js deleted file mode 100644 index d43ac18cb..000000000 --- a/src/pages/JobList/filter-jobs.js +++ /dev/null @@ -1,14 +0,0 @@ -const filterJobs = ({ jobFilter, showSystemJobs, jobs }) => { - // Filter jobs by the current jobFilter - const applyJobFilter = (job) => - job.name.toLowerCase().includes(jobFilter.toLowerCase()) - - // Filter jobs depending on the current showSystemJobs - const applyShowSystemJobs = (job) => - // Jobs that are configurable are user jobs - showSystemJobs ? true : job.configurable - - return jobs.filter(applyJobFilter).filter(applyShowSystemJobs) -} - -export default filterJobs diff --git a/src/pages/JobList/filter-jobs.test.js b/src/pages/JobList/filter-jobs.test.js deleted file mode 100644 index 12c7c7a98..000000000 --- a/src/pages/JobList/filter-jobs.test.js +++ /dev/null @@ -1,58 +0,0 @@ -import filterJobs from './filter-jobs' - -describe('filterJobs', () => { - it('should filter jobs by the current jobFilter', () => { - const jobFilter = 'One' - const showSystemJobs = true - const expected = { name: 'One', configurable: true } - const jobs = [expected, { name: 'Two', configurable: true }] - - expect(filterJobs({ jobFilter, showSystemJobs, jobs })).toEqual([ - expected, - ]) - }) - - it('should ignore job name capitalization', () => { - const jobFilter = 'one' - const showSystemJobs = true - const expected = { name: 'One', configurable: true } - const jobs = [expected, { name: 'Two', configurable: true }] - - expect(filterJobs({ jobFilter, showSystemJobs, jobs })).toEqual([ - expected, - ]) - }) - - it('should ignore jobFilter capitalization', () => { - const jobFilter = 'One' - const showSystemJobs = true - const expected = { name: 'one', configurable: true } - const jobs = [expected, { name: 'Two', configurable: true }] - - expect(filterJobs({ jobFilter, showSystemJobs, jobs })).toEqual([ - expected, - ]) - }) - - it('should show system jobs and user jobs if showSystemJobs is true', () => { - const jobFilter = '' - const showSystemJobs = true - const jobs = [ - { name: 'One', configurable: false }, - { name: 'Two', configurable: true }, - ] - - expect(filterJobs({ jobFilter, showSystemJobs, jobs })).toEqual(jobs) - }) - - it('should hide system jobs and show user jobs if showSystemJobs is false', () => { - const jobFilter = '' - const showSystemJobs = false - const expected = { name: 'Two', configurable: true } - const jobs = [{ name: 'One', configurable: false }, expected] - - expect(filterJobs({ jobFilter, showSystemJobs, jobs })).toEqual([ - expected, - ]) - }) -}) diff --git a/src/pages/JobList/index.js b/src/pages/JobList/index.js deleted file mode 100644 index 49bb3c7e4..000000000 --- a/src/pages/JobList/index.js +++ /dev/null @@ -1,3 +0,0 @@ -import JobList from './JobList' - -export default JobList diff --git a/src/pages/JobView/JobView.js b/src/pages/JobView/JobView.js index 2c2578ffd..70e561944 100644 --- a/src/pages/JobView/JobView.js +++ b/src/pages/JobView/JobView.js @@ -16,7 +16,7 @@ import { jobTypesMap } from '../../services/server-translations' import styles from './JobView.module.css' const infoLink = - 'https://docs.dhis2.org/en/use/user-guides/dhis-core-version-236/maintaining-the-system/scheduling.html' + 'https://docs.dhis2.org/en/use/user-guides/dhis-core-version-master/maintaining-the-system/scheduling.html' const JobView = ({ job }) => { const { @@ -52,7 +52,7 @@ const JobView = ({ job }) => { - {i18n.t('About job configuration')} + {i18n.t('About the scheduler')}