chore: add sign-in after verification test

This commit is contained in:
Bereket Engida
2024-12-23 13:42:52 +03:00
parent 19504bc865
commit cea95a2632
4 changed files with 31 additions and 3 deletions

View File

@@ -63,4 +63,34 @@ describe("Email Verification", async () => {
},
);
});
it("should sign after verification", async () => {
const { testUser, signInWithUser, client } = await getTestInstance({
emailAndPassword: {
enabled: true,
requireEmailVerification: true,
},
emailVerification: {
async sendVerificationEmail({ user, url, token: _token }) {
token = _token;
mockSendEmail(user.email, url);
},
autoSignInAfterVerification: true,
},
});
await signInWithUser(testUser.email, testUser.password);
let sessionToken = "";
const res = await client.verifyEmail({
query: {
token,
},
fetchOptions: {
onSuccess(context) {
sessionToken = context.response.headers.get("set-auth-token") || "";
},
},
});
expect(sessionToken.length).toBeGreaterThan(10);
});
});

View File

@@ -272,7 +272,6 @@ export const verifyEmail = createAuthEndpoint(
await ctx.context.internalAdapter.updateUserByEmail(parsed.email, {
emailVerified: true,
});
if (ctx.context.options.emailVerification?.autoSignInAfterVerification) {
const currentSession = await getSessionFromCtx(ctx);
if (!currentSession) {

View File

@@ -404,7 +404,6 @@ export const signInEmail = createAuthEndpoint(
},
ctx.request,
);
ctx.context.logger.error("Email not verified", { email });
throw new APIError("FORBIDDEN", {
message: BASE_ERROR_CODES.EMAIL_NOT_VERIFIED,
});

View File

@@ -68,7 +68,7 @@ const formatMessage = (level: LogLevel, message: string): string => {
const timestamp = new Date().toISOString();
return `${colors.dim}${timestamp}${colors.reset} ${
levelColors[level]
}${level.toUpperCase()}${colors.reset} ${colors.bright}Better Auth${
}${level.toUpperCase()}${colors.reset} ${colors.bright}[Better Auth]:${
colors.reset
} ${message}`;
};