• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

khu-khlug / sight-backend / 13816765552

12 Mar 2025 04:40PM UTC coverage: 51.16% (+0.2%) from 50.926%
13816765552

push

github

web-flow
feat: 회원 탈퇴 기능 구현 (#112)

781 of 2476 branches covered (31.54%)

Branch coverage included in aggregate %.

28 of 55 new or added lines in 8 files covered. (50.91%)

56 existing lines in 7 files now uncovered.

2175 of 3302 relevant lines covered (65.87%)

12.91 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

69.23
/src/app/application/user/command/deleteUser/DeleteUserCommandHandler.ts
1
import { EntityRepository } from '@mikro-orm/mysql';
2
import { InjectRepository } from '@mikro-orm/nestjs';
1✔
3
import { NotFoundException } from '@nestjs/common';
4
import { CommandHandler, ICommandHandler } from '@nestjs/cqrs';
5

1✔
6
import { DeleteUserCommand } from '@khlug/app/application/user/command/deleteUser/DeleteUserCommand';
7
import { DiscordMemberService } from '@khlug/app/application/user/service/DiscordMemberService';
8

6✔
9
import { User } from '@khlug/app/domain/user/model/User';
10

11
import { Message } from '@khlug/constant/message';
1✔
12

1✔
13
@CommandHandler(DeleteUserCommand)
1✔
14
export class DeleteUserCommandHandler
1✔
15
  implements ICommandHandler<DeleteUserCommand>
1✔
16
{
1✔
17
  constructor(
1✔
18
    @InjectRepository(User)
1✔
19
    private readonly userRepository: EntityRepository<User>,
20
    private readonly discordMemberService: DiscordMemberService,
6!
NEW
21
  ) {}
×
22

23
  async execute(command: DeleteUserCommand): Promise<void> {
24
    const { userId } = command;
25

26
    const user = await this.userRepository.findOne(userId);
27
    if (!user) {
28
      throw new NotFoundException(Message.USER_NOT_FOUND);
6✔
29
    }
30

6✔
31
    user.leave();
32

33
    // TODO: UserRepository 구현하여 사용하도록 수정 필요
1!
34
    await this.userRepository.getEntityManager().persistAndFlush(user);
1!
NEW
35

×
36
    // TODO: 운영진에게 탈퇴 관련 메시지 전송 필요
1!
37

38
    await this.discordMemberService.clearDiscordIntegration(userId);
39
  }
2!
40
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc