mirror of
https://github.com/outline/outline.git
synced 2026-06-13 03:14:59 +03:00
091346dfe8
* wip * Remove obsolete snapshots * simplify * chore(test): Convert mocks to TypeScript and tighten fetch mock types Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * Remove unneccessary patches * Migrate to msw instead of custom fetch mock * Address PR review comments - Split chained vi.useFakeTimers().setSystemTime() into separate calls. - Switch test setup to dynamic imports so EventEmitter.defaultMaxListeners assignment runs before module init (static imports were hoisted above it). - Drop redundant NODE_ENV guard in monkeyPatchSequelizeErrorsForJest; its sole caller already gates on env.isTest. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
32 lines
841 B
TypeScript
32 lines
841 B
TypeScript
import { http, HttpResponse } from "msw";
|
|
import { server } from "@server/test/msw";
|
|
import OAuthClient from "./oauth";
|
|
|
|
class MinimalOAuthClient extends OAuthClient {
|
|
endpoints = {
|
|
authorize: "http://example.com/authorize",
|
|
token: "http://example.com/token",
|
|
userinfo: "http://example.com/userinfo",
|
|
};
|
|
}
|
|
|
|
describe("userInfo", () => {
|
|
it("should work with empty-body 401 Unauthorized responses", async () => {
|
|
server.use(
|
|
http.get(
|
|
"http://example.com/userinfo",
|
|
() =>
|
|
new HttpResponse(null, { status: 401, statusText: "unauthorized" })
|
|
)
|
|
);
|
|
|
|
const client = new MinimalOAuthClient("clientid", "clientsecret");
|
|
try {
|
|
expect.assertions(1);
|
|
await client.userInfo("token");
|
|
} catch (e) {
|
|
expect(e.id).toBe("authentication_required");
|
|
}
|
|
});
|
|
});
|