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();