1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2025-01-30 19:52:20 +01:00

(test) add small front-end test for notifications list

This commit is contained in:
Karen 2023-02-03 16:17:42 +01:00 committed by Sylvain
parent 94c3e3effd
commit fb0b32e0d2
5 changed files with 70 additions and 1 deletions

View File

@ -0,0 +1,9 @@
import { NotificationType } from '../../../app/frontend/src/javascript/models/notification-type';
const notificationTypes: Array<NotificationType> = [
{ id: 1, name: 'notify_admin_when_project_published', category: 'projects', is_configurable: true },
{ id: 2, name: 'notify_project_collaborator_to_valid', category: 'projects', is_configurable: true },
{ id: 3, name: 'notify_project_author_when_collaborator_valid', category: 'projects', is_configurable: true }
];
export default notificationTypes;

View File

@ -0,0 +1,47 @@
import { Notification, NotificationsIndex } from '../../../app/frontend/src/javascript/models/notification';
const newNotifications: Array<Notification> = [
{
id: 1,
notification_type: 'notify_admin_when_project_published',
notification_type_id: 1,
created_at: '2023-02-03T14:42:34.678Z',
is_read: false,
message: {
title: '',
description: 'Decription of the first notification'
}
},
{
id: 2,
notification_type: 'notify_project_collaborator_to_valid',
notification_type_id: 2,
created_at: '2023-02-03T14:42:34.678Z',
is_read: false,
message: {
title: '',
description: 'Decription of the second notification'
}
},
{
id: 3,
notification_type: 'notify_project_author_when_collaborator_valid',
notification_type_id: 3,
created_at: '2023-02-03T14:42:34.678Z',
is_read: false,
message: {
title: '',
description: 'Decription of the third notification'
}
}
];
const notificationsIndex: NotificationsIndex = {
notifications: newNotifications,
totals: {
total: 3,
unread: 3
}
};
export default notificationsIndex;

View File

@ -11,6 +11,8 @@ import providers from '../__fixtures__/auth_providers';
import profileCustomFields from '../__fixtures__/profile_custom_fields'; import profileCustomFields from '../__fixtures__/profile_custom_fields';
import spaces from '../__fixtures__/spaces'; import spaces from '../__fixtures__/spaces';
import statuses from '../__fixtures__/statuses'; import statuses from '../__fixtures__/statuses';
import notificationTypes from '../__fixtures__/notification_types';
import notifications from '../__fixtures__/notifications';
const FixturesLib = { const FixturesLib = {
init: () => { init: () => {
@ -29,7 +31,9 @@ const FixturesLib = {
providers: JSON.parse(JSON.stringify(providers)), providers: JSON.parse(JSON.stringify(providers)),
profileCustomFields: JSON.parse(JSON.stringify(profileCustomFields)), profileCustomFields: JSON.parse(JSON.stringify(profileCustomFields)),
spaces: JSON.parse(JSON.stringify(spaces)), spaces: JSON.parse(JSON.stringify(spaces)),
statuses: JSON.parse(JSON.stringify(statuses)) statuses: JSON.parse(JSON.stringify(statuses)),
notificationTypes: JSON.parse(JSON.stringify(notificationTypes)),
notifications: JSON.parse(JSON.stringify(notifications))
}; };
} }
}; };

View File

@ -111,6 +111,12 @@ export const server = setupServer(
status.id = fixtures.statuses.length + 1; status.id = fixtures.statuses.length + 1;
fixtures.statuses.push(status); fixtures.statuses.push(status);
return res(ctx.json({ status })); return res(ctx.json({ status }));
}),
rest.get('/api/notification_types', (req, res, ctx) => {
return res(ctx.json(fixtures.notification_types));
}),
rest.get('/api/notifications', (req, res, ctx) => {
return res(ctx.json(fixtures.notifications));
}) })
); );

View File

@ -8,5 +8,8 @@ describe('Notifications list', () => {
render(<NotificationsList onError={onError} />); render(<NotificationsList onError={onError} />);
await waitFor(() => screen.getByTestId('notifications-list')); await waitFor(() => screen.getByTestId('notifications-list'));
expect(screen.getByText('Decription of the first notification')).toBeDefined();
expect(screen.getByText('Decription of the second notification')).toBeDefined();
expect(screen.getByText('Decription of the third notification')).toBeDefined();
}); });
}); });