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

khu-khlug / sight-backend / 13037012621

29 Jan 2025 05:31PM UTC coverage: 57.481% (-0.3%) from 57.757%
13037012621

push

github

web-flow
feat: 전화번호 및 학번 검색어 유형 추가 (#92)

503 of 1416 branches covered (35.52%)

Branch coverage included in aggregate %.

0 of 8 new or added lines in 4 files covered. (0.0%)

29 existing lines in 4 files now uncovered.

1391 of 1879 relevant lines covered (74.03%)

6.39 hits per line

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

0.0
/src/app/application/user/query/listUser/ListUserQueryHandler.ts
1
import { EntityRepository } from '@mikro-orm/mysql';
2
import { InjectRepository } from '@mikro-orm/nestjs';
×
3
import { Injectable } from '@nestjs/common';
×
4
import { IQueryHandler, QueryHandler } from '@nestjs/cqrs';
×
5

×
6
import { ListUserQuery } from '@khlug/app/application/user/query/listUser/ListUserQuery';
7
import { ListUserQueryResult } from '@khlug/app/application/user/query/listUser/ListUserQueryResult';
8
import { UserListView } from '@khlug/app/application/user/query/view/UserListView';
×
9

10
import { User } from '@khlug/app/domain/user/model/User';
11

×
12
@Injectable()
×
13
@QueryHandler(ListUserQuery)
14
export class ListUserQueryHandler
15
  implements IQueryHandler<ListUserQuery, ListUserQueryResult>
16
{
17
  constructor(
18
    @InjectRepository(User)
19
    private readonly userRepository: EntityRepository<User>,
20
  ) {}
21

22
  async execute(query: ListUserQuery): Promise<ListUserQueryResult> {
23
    const { email, phone, name, number, college, grade, state, limit, offset } =
24
      query;
25

×
26
    const qb = this.userRepository.createQueryBuilder('user');
27

UNCOV
28
    if (email) {
×
29
      qb.andWhere('email LIKE ?', [`%${email}%`]);
×
30
    }
×
31

×
32
    if (phone) {
33
      qb.andWhere('phone LIKE ?', [`%${phone}%`]);
34
    }
NEW
35

×
UNCOV
36
    if (name) {
×
37
      qb.andWhere('realname LIKE ?', [`%${name}%`]);
38
    }
39

NEW
40
    if (number) {
×
NEW
41
      qb.andWhere('number LIKE ?', [`%${number}%`]);
×
42
    }
43

44
    if (college) {
45
      qb.andWhere('college LIKE ?', [`%${college}%`]);
×
UNCOV
46
    }
×
47

48
    if (grade) {
49
      qb.andWhere('grade = ?', [grade]);
50
    }
×
UNCOV
51

×
52
    if (state) {
53
      qb.andWhere('state = ?', [state]);
54
    }
55

×
UNCOV
56
    const [users, count] = await qb
×
57
      .limit(limit)
58
      .offset(offset)
59
      .orderBy({ id: 'ASC' })
60
      .getResultAndCount();
×
UNCOV
61

×
62
    const listView: UserListView = { count, users };
63
    return new ListUserQueryResult(listView);
64
  }
UNCOV
65
}
×
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