From 872e9b87345d08e2f5612ba4c04bc5eda0e62c38 Mon Sep 17 00:00:00 2001 From: Katalina Okano Date: Tue, 1 Feb 2022 00:25:36 -0500 Subject: [PATCH] fix new-session tests, remove newly unused param --- .../src/pages/machinery/new-session.spec.tsx | 30 +++++++++++++++---- .../web/src/pages/machinery/new-session.tsx | 2 +- 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/packages/web/src/pages/machinery/new-session.spec.tsx b/packages/web/src/pages/machinery/new-session.spec.tsx index 00d5c6c..b65fa6a 100644 --- a/packages/web/src/pages/machinery/new-session.spec.tsx +++ b/packages/web/src/pages/machinery/new-session.spec.tsx @@ -1,17 +1,29 @@ +import { createHistory, createMemorySource, LocationProvider } from '@reach/router'; import { render, screen } from '@testing-library/react'; import { useSessionContext } from '../../contexts/session/SessionContext'; import NewSession from './new-session'; +// for some types of tests you want a memory source +const testSessionID = 'sessionid1234'; +let source = createMemorySource(`/machinery/new-session#/${testSessionID}`); +let history = createHistory(source); + +beforeEach(() => { + history.location.hash = `#/${testSessionID}`; +}); + const setupSessionMock = jest.fn(); (useSessionContext as jest.Mock) = jest.fn(() => ({ setupSession: setupSessionMock, isAuthenticated: true, })); -const testSessionID = 'sessionid1234'; - it('sets up the session', () => { - render(); + render( + + + + ); expect(useSessionContext).toBeCalled(); expect(setupSessionMock).toBeCalledWith('sessionid1234'); @@ -19,7 +31,11 @@ it('sets up the session', () => { it('redirects to the correct location when rp_postauth_redirect is set', async () => { localStorage.setItem('rp_postauth_redirect', '/hello_world'); - render(); + render( + + + + ); const bounceLink = screen.getByText("If you aren't redirected soon, click here."); expect(bounceLink.getAttribute('href')).toBe('/hello_world'); @@ -27,7 +43,11 @@ it('redirects to the correct location when rp_postauth_redirect is set', async ( it('redirects to the correct location by default', async () => { localStorage.setItem('rp_postauth_redirect', '/servers'); - render(); + render( + + + + ); const bounceLink = screen.getByText("If you aren't redirected soon, click here."); expect(bounceLink.getAttribute('href')).toBe('/servers'); diff --git a/packages/web/src/pages/machinery/new-session.tsx b/packages/web/src/pages/machinery/new-session.tsx index 0074f2f..f0deedf 100644 --- a/packages/web/src/pages/machinery/new-session.tsx +++ b/packages/web/src/pages/machinery/new-session.tsx @@ -6,7 +6,7 @@ import * as React from 'react'; import { useSessionContext } from '../../contexts/session/SessionContext'; import { Title } from '../../utils/metaTitle'; -const NewSession = (props: { sessionID: string }) => { +const NewSession = () => { const { setupSession, sessionID } = useSessionContext(); const [postauthUrl, setPostauthUrl] = React.useState('/servers'); const navigate = useNavigate();