Skip to content

Commit

Permalink
Fixes 2975: Add template Table
Browse files Browse the repository at this point in the history
  • Loading branch information
Andrewgdewar committed Jan 2, 2024
1 parent 4fd5f1f commit e07ed1f
Show file tree
Hide file tree
Showing 24 changed files with 1,051 additions and 94 deletions.
32 changes: 23 additions & 9 deletions deploy/frontend.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,21 +16,35 @@ objects:
- v1
frontend:
paths:
- /apps/content-sources # TODO ensure this matches routes?
- /apps/content-sources # TODO ensure this matches routes?
image: ${IMAGE}:${IMAGE_TAG}
navItems:
- appId: "content-sources"
title: "Repositories"
href: "/settings/content"
product: "Content"
- appId: 'content-sources'
title: 'Repositories'
href: '/settings/content/repositories'
product: 'Content'
- appId: 'content-sources'
title: 'Templates'
href: '/settings/content/templates'
product: 'Content'
module:
manifestLocation: "/apps/content-sources/fed-mods.json"
manifestLocation: '/apps/content-sources/fed-mods.json'
modules:
- id: 'insights-content-sources' # This should likely match: https://github.com/RedHatInsights/cloud-services-config/blob/ci-beta/chrome/fed-modules.json#L776
module: "./RootApp"
module: './RootApp'
routes:
- pathname: /insights/content # TODO ensure this matches routes/webpack config?
- pathname: /settings/content
- appId: 'content'
title: 'Repositories'
href: '/settings/content/repositories'
- appId: 'content'
title: 'Repositories'
href: '/insights/content/repositories'
- appId: 'content'
title: 'Templates'
href: '/settings/content/templates'
- appId: 'content'
title: 'Templates'
href: '/insights/content/templates'

parameters:
- name: ENV_NAME
Expand Down
7 changes: 5 additions & 2 deletions src/Pages/AdminTaskTable/AdminTaskTable.test.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import { render } from '@testing-library/react';
import { ReactQueryTestWrapper, defaultIntrospectTask } from '../../testingHelpers';
import AdminTaskTable, { formatDate } from './AdminTaskTable';
import AdminTaskTable from './AdminTaskTable';
import { useAdminTaskListQuery } from '../../services/AdminTasks/AdminTaskQueries';
import { formatDateToHumanReadable } from '../../helpers';

jest.mock('../../services/AdminTasks/AdminTaskQueries', () => ({
useAdminTaskListQuery: jest.fn(),
Expand Down Expand Up @@ -72,5 +73,7 @@ it('Render with a single row', () => {
defaultIntrospectTask.status.at(0)?.toUpperCase() + defaultIntrospectTask.status.slice(1),
),
).toBeInTheDocument();
expect(queryByText(formatDate(defaultIntrospectTask.queued_at))).toBeInTheDocument();
expect(
queryByText(formatDateToHumanReadable(defaultIntrospectTask.queued_at)),
).toBeInTheDocument();
});
6 changes: 2 additions & 4 deletions src/Pages/AdminTaskTable/AdminTaskTable.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,11 @@ import { SkeletonTable } from '@patternfly/react-component-groups';
import Hide from '../../components/Hide/Hide';
import EmptyTableState from '../../components/EmptyTableState/EmptyTableState';
import AdminTaskFilters from './components/AdminTaskFilters';
import dayjs from 'dayjs';
import StatusIcon from './components/StatusIcon';
import { useAdminTaskListQuery } from '../../services/AdminTasks/AdminTaskQueries';
import { AdminTaskFilterData, AdminTask } from '../../services/AdminTasks/AdminTaskApi';
import { Outlet, useNavigate } from 'react-router-dom';
import { formatDateToHumanReadable } from '../../helpers';

const useStyles = createUseStyles({
mainContainer: {
Expand All @@ -55,8 +55,6 @@ const useStyles = createUseStyles({
},
});

export const formatDate = (date: string): string => dayjs(date).format('DD MMM YYYY HH:mm UTCZ');

const perPageKey = 'adminTaskPerPage';

const AdminTaskTable = () => {
Expand Down Expand Up @@ -215,7 +213,7 @@ const AdminTaskTable = () => {
<Td>{adminTask.org_id}</Td>
<Td>{adminTask.account_id ? adminTask.account_id : 'Unknown'}</Td>
<Td>{adminTask.typename}</Td>
<Td>{formatDate(adminTask.queued_at)}</Td>
<Td>{formatDateToHumanReadable(adminTask.queued_at)}</Td>
<Td>
<StatusIcon status={adminTask.status} />
</Td>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ import ReactJson from 'react18-json-view';
import Hide from '../../../../components/Hide/Hide';
import { useFetchAdminTaskQuery } from '../../../../services/AdminTasks/AdminTaskQueries';
import { useNavigate, useParams } from 'react-router-dom';
import { ADMIN_TASKS_ROUTE } from '../../../../Routes/useTabbedRoutes';
import useRootPath from '../../../../Hooks/useRootPath';
import { ADMIN_TASKS_ROUTE } from '../../../../Routes/constants';

const useStyles = createUseStyles({
jsonView: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { render } from '@testing-library/react';
import AdminTaskInfo from './AdminTaskInfo';
import { AdminTask } from '../../../../../services/AdminTasks/AdminTaskApi';
import { defaultIntrospectTask } from '../../../../../testingHelpers';
import { formatDate } from '../../../AdminTaskTable';
import { formatDateToHumanReadable } from '../../../../../helpers';

jest.mock('../../../../../middleware/AppContext', () => ({
useAppContext: () => ({ rbac: { read: true, write: true } }),
Expand All @@ -16,9 +16,15 @@ it('Render with all fields', () => {
expect(queryByText(defaultIntrospectTask.org_id)).toBeInTheDocument();
expect(queryByText(defaultIntrospectTask.typename)).toBeInTheDocument();
expect(queryByText(defaultIntrospectTask.status)).toBeInTheDocument();
expect(queryByText(formatDate(defaultIntrospectTask.queued_at))).toBeInTheDocument();
expect(queryByText(formatDate(defaultIntrospectTask.started_at))).toBeInTheDocument();
expect(queryByText(formatDate(defaultIntrospectTask.finished_at))).toBeInTheDocument();
expect(
queryByText(formatDateToHumanReadable(defaultIntrospectTask.queued_at)),
).toBeInTheDocument();
expect(
queryByText(formatDateToHumanReadable(defaultIntrospectTask.started_at)),
).toBeInTheDocument();
expect(
queryByText(formatDateToHumanReadable(defaultIntrospectTask.finished_at)),
).toBeInTheDocument();
expect(queryByText(defaultIntrospectTask.error)).toBeInTheDocument();
});

Expand All @@ -38,7 +44,7 @@ it('Render without optional fields', () => {
expect(queryByText(missingOptional.org_id)).toBeInTheDocument();
expect(queryByText(missingOptional.typename)).toBeInTheDocument();
expect(queryByText(missingOptional.status)).toBeInTheDocument();
expect(queryByText(formatDate(missingOptional.queued_at))).toBeInTheDocument();
expect(queryByText(formatDateToHumanReadable(missingOptional.queued_at))).toBeInTheDocument();
expect(queryByText('Not started')).toBeInTheDocument();
expect(queryByText('Not finished')).toBeInTheDocument();
expect(queryByText('None')).toBeInTheDocument();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {
DescriptionListTerm,
} from '@patternfly/react-core';
import { AdminTask } from '../../../../../services/AdminTasks/AdminTaskApi';
import { formatDate } from '../../../AdminTaskTable';
import { formatDateToHumanReadable } from '../../../../../helpers';

export interface AdminTaskInfoProps {
adminTask: AdminTask;
Expand Down Expand Up @@ -36,18 +36,20 @@ const AdminTaskInfo = ({ adminTask }: AdminTaskInfoProps) => (
</DescriptionListGroup>
<DescriptionListGroup>
<DescriptionListTerm>Queued At</DescriptionListTerm>
<DescriptionListDescription>{formatDate(adminTask.queued_at)}</DescriptionListDescription>
<DescriptionListDescription>
{formatDateToHumanReadable(adminTask.queued_at)}
</DescriptionListDescription>
</DescriptionListGroup>
<DescriptionListGroup>
<DescriptionListTerm>Started At</DescriptionListTerm>
<DescriptionListDescription>
{adminTask.started_at ? formatDate(adminTask.started_at) : 'Not started'}
{adminTask.started_at ? formatDateToHumanReadable(adminTask.started_at) : 'Not started'}
</DescriptionListDescription>
</DescriptionListGroup>
<DescriptionListGroup>
<DescriptionListTerm>Finished At</DescriptionListTerm>
<DescriptionListDescription>
{adminTask.finished_at ? formatDate(adminTask.finished_at) : 'Not finished'}
{adminTask.finished_at ? formatDateToHumanReadable(adminTask.finished_at) : 'Not finished'}
</DescriptionListDescription>
</DescriptionListGroup>
<DescriptionListGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,6 @@ export default function DeleteContentModal() {
<Stack>
<StackItem>
<Button
// className={classes.removeButton}
key='confirm'
ouiaId='delete_modal_confirm'
variant='danger'
Expand All @@ -117,7 +116,7 @@ export default function DeleteContentModal() {
>
Remove
</Button>
<Button key='cancel' variant='link' onClick={onClose} ouiaId='edit_modal_cancel'>
<Button key='cancel' variant='link' onClick={onClose} ouiaId='delete_modal_cancel'>
Cancel
</Button>
</StackItem>
Expand Down
Loading

0 comments on commit e07ed1f

Please sign in to comment.