Skip to content

Commit fdd9d68

Browse files
fix: format date
1 parent 060113f commit fdd9d68

File tree

3 files changed

+16
-10
lines changed

3 files changed

+16
-10
lines changed

src/dateExtensions/components/DateExtensionsList.test.tsx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ const mockData = [
1111
fullName: 'Test User',
1212
email: 'test@example.com',
1313
unitTitle: 'Test Section',
14-
extendedDueDate: '2024-01-01'
14+
extendedDueDate: '2025-11-07T00:00:00Z'
1515
}
1616
];
1717

@@ -36,11 +36,11 @@ describe('DateExtensionsList', () => {
3636
(useDateExtensions as jest.Mock).mockReturnValue({ isLoading: false, data: { count: mockData.length, results: mockData } });
3737
renderComponent({ onResetExtensions: mockResetExtensions });
3838
const user = userEvent.setup();
39-
expect(screen.getByText('test_user')).toBeInTheDocument();
40-
expect(screen.getByText('Test User')).toBeInTheDocument();
41-
expect(screen.getByText('test@example.com')).toBeInTheDocument();
42-
expect(screen.getByText('Test Section')).toBeInTheDocument();
43-
expect(screen.getByText('2024-01-01')).toBeInTheDocument();
39+
expect(screen.getByText(mockData[0].username)).toBeInTheDocument();
40+
expect(screen.getByText(mockData[0].fullName)).toBeInTheDocument();
41+
expect(screen.getByText(mockData[0].email)).toBeInTheDocument();
42+
expect(screen.getByText(mockData[0].unitTitle)).toBeInTheDocument();
43+
expect(screen.getByText('11/07/2025, 12:00 AM')).toBeInTheDocument();
4444
const resetExtensions = screen.getByRole('button', { name: /reset extensions/i });
4545
expect(resetExtensions).toBeInTheDocument();
4646
await user.click(resetExtensions);
@@ -50,7 +50,7 @@ describe('DateExtensionsList', () => {
5050
it('renders empty table when no data provided', () => {
5151
(useDateExtensions as jest.Mock).mockReturnValue({ data: { count: 0, results: [] } });
5252
renderComponent({});
53-
expect(screen.queryByText('test_user')).not.toBeInTheDocument();
53+
expect(screen.queryByText(mockData[0].username)).not.toBeInTheDocument();
5454
expect(screen.getByText('No results found')).toBeInTheDocument();
5555
});
5656
});

src/dateExtensions/components/DateExtensionsList.tsx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { useIntl } from '@openedx/frontend-base';
1+
import { FormattedDate, useIntl } from '@openedx/frontend-base';
22
import { Button, DataTable } from '@openedx/paragon';
33
import messages from '../messages';
44
import { LearnerDateExtension } from '../types';
@@ -34,7 +34,13 @@ const DateExtensionsList = ({
3434
{ accessor: 'fullName', Header: intl.formatMessage(messages.fullname) },
3535
{ accessor: 'email', Header: intl.formatMessage(messages.email) },
3636
{ accessor: 'unitTitle', Header: intl.formatMessage(messages.gradedSubsection) },
37-
{ accessor: 'extendedDueDate', Header: intl.formatMessage(messages.extendedDueDate) },
37+
{
38+
accessor: 'extendedDueDate',
39+
Header: intl.formatMessage(messages.extendedDueDate),
40+
Cell: ({ value }: { value: string }) => (
41+
intl.formatDate(value, { year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', timeZone: 'UTC' })
42+
)
43+
},
3844
];
3945

4046
const additionalColumns = [{

src/dateExtensions/data/apiHook.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ export const useResetDateExtensionMutation = () => {
1616
mutationFn: ({ courseId, params }: { courseId: string, params: ResetDueDateParams }) =>
1717
resetDateExtension(courseId, params),
1818
onSuccess: ({ courseId }) => {
19-
queryClient.invalidateQueries({ queryKey: dateExtensionsQueryKeys.byCourse(courseId), exact: false});
19+
queryClient.invalidateQueries({ queryKey: dateExtensionsQueryKeys.byCourse(courseId), exact: false });
2020
},
2121
});
2222
};

0 commit comments

Comments
 (0)