mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2025-12-30 12:05:39 -05:00
fix(api): send msUsername in get session user endpoint (#54050)
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
This commit is contained in:
@@ -499,7 +499,7 @@ describe('userRoutes', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('user/get-user-session', () => {
|
||||
describe('/user/get-user-session', () => {
|
||||
beforeEach(async () => {
|
||||
await fastifyTestInstance.prisma.user.updateMany({
|
||||
where: { email: testUserData.email },
|
||||
@@ -590,6 +590,21 @@ describe('userRoutes', () => {
|
||||
expect(tokenData.id).toBe(userToken);
|
||||
});
|
||||
|
||||
test('GET returns the msUsername if it exists', async () => {
|
||||
await fastifyTestInstance.prisma.msUsername.create({
|
||||
data: msUsernameData[0] as (typeof msUsernameData)[0]
|
||||
});
|
||||
|
||||
const msUsernames = await fastifyTestInstance.prisma.msUsername.count();
|
||||
expect(msUsernames).toBe(1);
|
||||
|
||||
const response = await superGet('/user/get-session-user');
|
||||
|
||||
const { msUsername } = response.body.user.foobar;
|
||||
|
||||
expect(msUsername).toBe(msUsernameData[0]?.msUsername);
|
||||
});
|
||||
|
||||
test('GET returns a minimal user when all optional properties are missing', async () => {
|
||||
// To get a minimal test user we first delete the existing one...
|
||||
await fastifyTestInstance.prisma.user.deleteMany({
|
||||
|
||||
@@ -510,11 +510,17 @@ export const userGetRoutes: FastifyPluginCallbackTypebox = (
|
||||
where: { userId: req.user!.id }
|
||||
});
|
||||
|
||||
const [userToken, user, completedSurveys] = await Promise.all([
|
||||
userTokenP,
|
||||
userP,
|
||||
completedSurveysP
|
||||
]);
|
||||
const msUsernameP = fastify.prisma.msUsername.findFirst({
|
||||
where: { userId: req.user?.id }
|
||||
});
|
||||
|
||||
const [userToken, user, completedSurveys, msUsername] =
|
||||
await Promise.all([
|
||||
userTokenP,
|
||||
userP,
|
||||
completedSurveysP,
|
||||
msUsernameP
|
||||
]);
|
||||
|
||||
if (!user?.username) {
|
||||
void res.code(500);
|
||||
@@ -556,7 +562,8 @@ export const userGetRoutes: FastifyPluginCallbackTypebox = (
|
||||
twitter: normalizeTwitter(twitter),
|
||||
username: usernameDisplay || username,
|
||||
userToken: encodedToken,
|
||||
completedSurveys: normalizeSurveys(completedSurveys)
|
||||
completedSurveys: normalizeSurveys(completedSurveys),
|
||||
msUsername: msUsername?.msUsername
|
||||
}
|
||||
},
|
||||
result: user.username
|
||||
|
||||
@@ -451,7 +451,8 @@ export const schemas = {
|
||||
})
|
||||
)
|
||||
})
|
||||
)
|
||||
),
|
||||
msUsername: Type.Optional(Type.String())
|
||||
})
|
||||
),
|
||||
result: Type.String()
|
||||
|
||||
Reference in New Issue
Block a user