import {popEmail} from "./_mail_server"; import supertest from "supertest"; export async function followMagicLinkFromMail( agent: supertest.SuperTest, cookies: string[], expectedRedirectUrl: string = '/', ): Promise { const mail: Record | null = await popEmail(); expect(mail).not.toBeNull(); const query = (mail?.text as string).split('/magic/link?')[1].split('\n')[0]; expect(query).toBeDefined(); await agent.get('/magic/link?' + query) .expect(200); await agent.get('/magic/lobby') .set('Cookie', cookies) .expect(302) .expect('Location', expectedRedirectUrl); } export async function testLogout( agent: supertest.SuperTest, cookies: string[], csrf: string, ): Promise { // Authenticated await agent.get('/is-auth').set('Cookie', cookies).expect(200); // Logout await agent.post('/auth/logout') .set('Cookie', cookies) .send({csrf: csrf}) .expect(302); // Not authenticated await agent.get('/is-auth').set('Cookie', cookies).expect(401); }