mocked services

This commit is contained in:
Max Peintner
2024-10-28 16:52:30 +01:00
parent c8fd63a169
commit c6c15fe935
2 changed files with 69 additions and 51 deletions

View File

@@ -1,62 +1,79 @@
import { stub } from "../support/mock"; import { stub } from "../support/mock";
beforeEach(() => { describe("verify invite", () => {
stub("zitadel.org.v2.OrganizationService", "ListOrganizations", { beforeEach(() => {
data: { stub("zitadel.org.v2.OrganizationService", "ListOrganizations", {
details: { data: {
totalResult: 1, details: {
totalResult: 1,
},
result: [{ id: "256088834543534543" }],
}, },
result: [{ id: "256088834543534543" }],
},
});
stub("zitadel.user.v2.UserService", "ListAuthenticationMethodTypes", {
data: {
authMethodTypes: [],
},
});
describe("verify invite", () => {
it.only("shows authenticators after successful invite verification", () => {
stub("zitadel.user.v2.UserService", "VerifyInviteCode");
cy.visit("/verify?userId=123&code=abc&invite=true");
cy.location("pathname", { timeout: 10_000 }).should(
"eq",
"/authenticator/set",
);
}); });
it("shows an error if invite code validation failed", () => { stub("zitadel.user.v2.UserService", "ListAuthenticationMethodTypes", {
stub("zitadel.user.v2.UserService", "VerifyInviteCode", { data: {
code: 3, authMethodTypes: [],
error: "error validating code", },
});
// TODO: Avoid uncaught exception in application
cy.once("uncaught:exception", () => false);
cy.visit("/verify?userId=123&code=abc&invite=true");
cy.contains("Could not verify invite", { timeout: 10_000 });
}); });
}); });
describe("verify email", () => { it.only("shows authenticators after successful invite verification", () => {
it("shows password and passkey method after successful invite verification", () => { stub("zitadel.user.v2.UserService", "VerifyInviteCode");
stub("zitadel.user.v2.UserService", "VerifyEmail"); cy.visit("/verify?userId=123&code=abc&invite=true");
cy.visit("/verify?userId=123&code=abc"); cy.location("pathname", { timeout: 10_000 }).should(
cy.location("pathname", { timeout: 10_000 }).should( "eq",
"eq", "/authenticator/set",
"/authenticator/set", );
); });
});
it("shows an error if invite code validation failed", () => { it("shows an error if invite code validation failed", () => {
stub("zitadel.user.v2.UserService", "VerifyEmail", { stub("zitadel.user.v2.UserService", "VerifyInviteCode", {
code: 3, code: 3,
error: "error validating code", error: "error validating code",
});
// TODO: Avoid uncaught exception in application
cy.once("uncaught:exception", () => false);
cy.visit("/verify?userId=123&code=abc&submit=true");
cy.contains("Could not verify email", { timeout: 10_000 });
}); });
// TODO: Avoid uncaught exception in application
cy.once("uncaught:exception", () => false);
cy.visit("/verify?userId=123&code=abc&invite=true");
cy.contains("Could not verify invite", { timeout: 10_000 });
});
});
describe("verify email", () => {
beforeEach(() => {
stub("zitadel.org.v2.OrganizationService", "ListOrganizations", {
data: {
details: {
totalResult: 1,
},
result: [{ id: "256088834543534543" }],
},
});
stub("zitadel.user.v2.UserService", "ListAuthenticationMethodTypes", {
data: {
authMethodTypes: [],
},
});
});
it("shows password and passkey method after successful invite verification", () => {
stub("zitadel.user.v2.UserService", "VerifyEmail");
cy.visit("/verify?userId=123&code=abc");
cy.location("pathname", { timeout: 10_000 }).should(
"eq",
"/authenticator/set",
);
});
it("shows an error if invite code validation failed", () => {
stub("zitadel.user.v2.UserService", "VerifyEmail", {
code: 3,
error: "error validating code",
});
// TODO: Avoid uncaught exception in application
cy.once("uncaught:exception", () => false);
cy.visit("/verify?userId=123&code=abc&submit=true");
cy.contains("Could not verify email", { timeout: 10_000 });
}); });
}); });

View File

@@ -1,6 +1,7 @@
zitadel/user/v2/user_service.proto zitadel/user/v2/user_service.proto
zitadel/org/v2/org_service.proto
zitadel/session/v2/session_service.proto zitadel/session/v2/session_service.proto
zitadel/settings/v2/settings_service.proto zitadel/settings/v2/settings_service.proto
zitadel/management.proto zitadel/management.proto
zitadel/auth.proto zitadel/auth.proto
zitadel/admin.proto zitadel/admin.proto