Skip to content

Commit 5ec46be

Browse files
committed
Test the cross-signing reset flow
1 parent 75b9597 commit 5ec46be

File tree

5 files changed

+767
-12
lines changed

5 files changed

+767
-12
lines changed
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
// Copyright 2024 New Vector Ltd.
2+
//
3+
// SPDX-License-Identifier: AGPL-3.0-only
4+
// Please see LICENSE in the repository root for full details.
5+
6+
import type { Meta, StoryObj } from "@storybook/react";
7+
import { HttpResponse, delay } from "msw";
8+
import {
9+
mockAllowCrossSigningResetMutation,
10+
mockCurrentViewerQuery,
11+
} from "../../src/gql/graphql";
12+
import { App } from "./app";
13+
14+
const meta = {
15+
title: "Pages/Reset cross signing",
16+
tags: ["!autodocs"],
17+
parameters: {
18+
msw: {
19+
handlers: [
20+
mockAllowCrossSigningResetMutation(async () => {
21+
await delay();
22+
23+
return HttpResponse.json({
24+
data: {
25+
allowUserCrossSigningReset: {
26+
user: {
27+
id: "user-id",
28+
},
29+
},
30+
},
31+
});
32+
}),
33+
],
34+
},
35+
},
36+
} satisfies Meta;
37+
38+
export default meta;
39+
type Story = StoryObj;
40+
41+
export const Index: Story = {
42+
render: () => <App route="/reset-cross-signing" />,
43+
};
44+
45+
export const DeepLink: Story = {
46+
render: () => <App route="/reset-cross-signing?deepLink=true" />,
47+
};
48+
49+
export const Success: Story = {
50+
render: () => <App route="/reset-cross-signing/success" />,
51+
};
52+
53+
export const Cancelled: Story = {
54+
render: () => <App route="/reset-cross-signing/cancelled" />,
55+
};
56+
57+
export const Errored: Story = {
58+
render: () => <App route="/reset-cross-signing" />,
59+
parameters: {
60+
msw: {
61+
handlers: [
62+
mockCurrentViewerQuery(() =>
63+
HttpResponse.json(
64+
{
65+
errors: [{ message: "Request failed" }],
66+
},
67+
{ status: 400 },
68+
),
69+
),
70+
],
71+
},
72+
},
73+
};

frontend/tests/mocks/handlers.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import { CONFIG_FRAGMENT as USER_EMAIL_LIST_CONFIG_FRAGMENT } from "../../src/co
1414
import { makeFragmentData } from "../../src/gql";
1515
import {
1616
mockCurrentUserGreetingQuery,
17+
mockCurrentViewerQuery,
1718
mockFooterQuery,
1819
mockUserEmailListQuery,
1920
mockUserProfileQuery,
@@ -41,6 +42,17 @@ export const handlers = [
4142
}),
4243
),
4344

45+
mockCurrentViewerQuery(() =>
46+
HttpResponse.json({
47+
data: {
48+
viewer: {
49+
__typename: "User",
50+
id: "user-id",
51+
},
52+
},
53+
}),
54+
),
55+
4456
mockCurrentUserGreetingQuery(() =>
4557
HttpResponse.json({
4658
data: {

0 commit comments

Comments
 (0)