Skip to content

Commit

Permalink
Merge pull request #568 from boostcampwm2023/BE/feature/#567
Browse files Browse the repository at this point in the history
그룹 기록 추가 API 응답에 user info를 추가해서 반환한다.
  • Loading branch information
lsh23 authored Dec 11, 2023
2 parents 1db5fc6 + b598889 commit 2d4546a
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,10 @@ describe('GroupAchievementService Test', () => {
expect(groupAchievementResponse.category.id).toEqual(groupCategory.id);
expect(groupAchievementResponse.category.achieveCount).toEqual(1);
expect(groupAchievementResponse.category.name).toEqual('category');
expect(groupAchievementResponse.userCode).toEqual(user1.userCode);
expect(groupAchievementResponse.user.userCode).toEqual(user1.userCode);
expect(groupAchievementResponse.user.avatarUrl).toEqual(
user1.avatarUrl,
);
expect(groupAchievementResponse.imageUrl).toEqual(image.imageUrl);
expect(groupAchievementResponse.createdAt).toBeDefined();
});
Expand Down Expand Up @@ -231,7 +234,10 @@ describe('GroupAchievementService Test', () => {
expect(groupAchievementResponse.category.id).toEqual(-1);
expect(groupAchievementResponse.category.achieveCount).toEqual(1);
expect(groupAchievementResponse.category.name).toEqual('미설정');
expect(groupAchievementResponse.userCode).toEqual(user1.userCode);
expect(groupAchievementResponse.user.userCode).toEqual(user1.userCode);
expect(groupAchievementResponse.user.avatarUrl).toEqual(
user1.avatarUrl,
);
expect(groupAchievementResponse.imageUrl).toEqual(image.imageUrl);
expect(groupAchievementResponse.createdAt).toBeDefined();
});
Expand Down Expand Up @@ -328,7 +334,8 @@ describe('GroupAchievementService Test', () => {
expect(groupAchievementResponse.category.id).toEqual(groupCategory.id);
expect(groupAchievementResponse.category.achieveCount).toEqual(1);
expect(groupAchievementResponse.category.name).toEqual('category');
expect(groupAchievementResponse.userCode).toEqual(user.userCode);
expect(groupAchievementResponse.user.userCode).toEqual(user.userCode);
expect(groupAchievementResponse.user.avatarUrl).toEqual(user.avatarUrl);
expect(groupAchievementResponse.imageUrl).toEqual(image.imageUrl);
expect(groupAchievementResponse.createdAt).toBeDefined();
});
Expand Down Expand Up @@ -365,8 +372,8 @@ describe('GroupAchievementService Test', () => {
expect(groupAchievementResponse.category.id).toEqual(-1);
expect(groupAchievementResponse.category.achieveCount).toEqual(1);
expect(groupAchievementResponse.category.name).toEqual('미설정');
expect(groupAchievementResponse.userCode).toEqual(user.userCode);
expect(groupAchievementResponse.imageUrl).toEqual(image.imageUrl);
expect(groupAchievementResponse.user.userCode).toEqual(user.userCode);
expect(groupAchievementResponse.user.avatarUrl).toEqual(user.avatarUrl);
expect(groupAchievementResponse.createdAt).toBeDefined();
});
});
Expand Down Expand Up @@ -407,7 +414,8 @@ describe('GroupAchievementService Test', () => {
expect(groupAchievementResponse.category.id).toEqual(groupCategory.id);
expect(groupAchievementResponse.category.achieveCount).toEqual(1);
expect(groupAchievementResponse.category.name).toEqual('category');
expect(groupAchievementResponse.userCode).toEqual(user.userCode);
expect(groupAchievementResponse.user.userCode).toEqual(user.userCode);
expect(groupAchievementResponse.user.avatarUrl).toEqual(user.avatarUrl);
expect(groupAchievementResponse.imageUrl).toEqual(image.imageUrl);
expect(groupAchievementResponse.createdAt).toBeDefined();
});
Expand Down Expand Up @@ -444,7 +452,8 @@ describe('GroupAchievementService Test', () => {
expect(groupAchievementResponse.category.id).toEqual(-1);
expect(groupAchievementResponse.category.achieveCount).toEqual(1);
expect(groupAchievementResponse.category.name).toEqual('미설정');
expect(groupAchievementResponse.userCode).toEqual(user.userCode);
expect(groupAchievementResponse.user.userCode).toEqual(user.userCode);
expect(groupAchievementResponse.user.avatarUrl).toEqual(user.avatarUrl);
expect(groupAchievementResponse.imageUrl).toEqual(image.imageUrl);
expect(groupAchievementResponse.createdAt).toBeDefined();
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,7 @@ describe('GroupAchievementController', () => {
createdAt: new Date(),
achieveCount: 2,
userCode: user.userCode,
avatarUrl: user.avatarUrl,
});

when(
Expand Down Expand Up @@ -488,6 +489,7 @@ describe('GroupAchievementController', () => {
createdAt: new Date(),
achieveCount: 2,
userCode: user.userCode,
avatarUrl: user.avatarUrl,
});

when(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
import { ApiProperty } from '@nestjs/swagger';
import { IGroupAchievementDetail } from '../index';
import { IGroupAchievementDetail, UserInfo } from '../index';
import { AchievementDetailResponse } from '../../../achievement/dto/achievement-detail-response';

export class GroupAchievementDetailResponse extends AchievementDetailResponse {
@ApiProperty({ description: 'usercode' })
userCode: string;
@ApiProperty({ description: 'user', type: UserInfo })
user: UserInfo;

constructor(achievementDetail: IGroupAchievementDetail) {
super(achievementDetail);
this.userCode = achievementDetail.userCode;
this.user = new UserInfo(
achievementDetail.userCode,
achievementDetail.avatarUrl,
);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,9 @@ export class GroupAchievementRepository extends TransactionalRepository<GroupAch
const groupAchievementEntitySelectQueryBuilder =
await this.achievementDetailQuery(achievementId, groupId);
const result = await groupAchievementEntitySelectQueryBuilder
.addSelect('user.avatarUrl', 'avatarUrl')
.andWhere('groupAchievement.user_id = :userId', { userId })
.getRawOne<IGroupAchievementDetail>();

if (result.id) return new GroupAchievementDetailResponse(result);
return null;
}
Expand Down
1 change: 1 addition & 0 deletions BE/src/group/achievement/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import { GroupCategory } from '../category/domain/group.category';

export interface IGroupAchievementDetail extends IAchievementDetail {
userCode: string;
avatarUrl: string;
}

export interface IGroupAchievementListDetail {
Expand Down

0 comments on commit 2d4546a

Please sign in to comment.