fix: adjust timer test to work again

This commit is contained in:
Michael Terry
2022-03-04 09:12:38 -05:00
committed by Michael Terry
parent 24ced5dc63
commit ebed27529c
2 changed files with 18 additions and 12 deletions

View File

@@ -112,6 +112,24 @@ describe('NotificationTray', () => {
.toBeInTheDocument();
});
it('marks notification as seen 3 seconds later', async () => {
jest.useFakeTimers();
const onNotificationSeen = jest.fn();
await fetchAndRender(
<SidebarContext.Provider value={{
currentSidebar: ID,
courseId,
onNotificationSeen,
}}
>
<NotificationTray />
</SidebarContext.Provider>,
);
expect(onNotificationSeen).toHaveBeenCalledTimes(0);
jest.advanceTimersByTime(3000);
expect(onNotificationSeen).toHaveBeenCalledTimes(1);
});
it('renders notification tray with full screen "Back to course" at responsive view', async () => {
global.innerWidth = breakpoints.medium.maxWidth;
const toggleNotificationTray = jest.fn();

View File

@@ -68,18 +68,6 @@ describe('Notification Trigger', () => {
expect(screen.getByTestId('notification-dot')).toBeInTheDocument();
});
it('renders notification trigger icon WITHOUT red dot 3 seconds later', async () => {
const container = renderWithProvider({ notificationStatus: 'active' });
expect(container).toBeInTheDocument();
expect(screen.getByTestId('notification-dot')).toBeInTheDocument();
jest.useFakeTimers();
setTimeout(() => {
expect(localStorage.setItem).toHaveBeenCalledTimes(5);
expect(screen.queryByRole('notification-dot')).not.toBeInTheDocument();
}, 3000);
jest.runAllTimers();
});
it('renders notification trigger icon WITHOUT red dot within the same phase', async () => {
const container = renderWithProvider({
upgradeNotificationLastSeen: 'sameState',