/* eslint-disable flowtype/require-valid-file-annotation */ import TestServer from "fetch-test-server"; import app from "../app"; import { buildUser, buildTeam } from "../test/factories"; import { flushdb } from "../test/support"; const server = new TestServer(app.callback()); beforeEach(() => flushdb()); afterAll(() => server.close()); describe("#auth.info", () => { it("should return current authentication", async () => { const team = await buildTeam(); const user = await buildUser({ teamId: team.id }); const res = await server.post("/api/auth.info", { body: { token: user.getJwtToken() }, }); const body = await res.json(); expect(res.status).toEqual(200); expect(body.data.user.name).toBe(user.name); expect(body.data.team.name).toBe(team.name); }); it("should require the team to not be deleted", async () => { const team = await buildTeam(); const user = await buildUser({ teamId: team.id }); await team.destroy(); const res = await server.post("/api/auth.info", { body: { token: user.getJwtToken() }, }); expect(res.status).toEqual(401); }); it("should require authentication", async () => { const res = await server.post("/api/auth.info"); expect(res.status).toEqual(401); }); });