feat: add monthly card periods and apparatus lesson feedback

This commit is contained in:
richarjiang
2026-10-18 15:47:29 +08:00
parent b452de379d
commit a3d58fa8f2
40 changed files with 968 additions and 170 deletions

View File

@@ -230,7 +230,10 @@ describe('AuthService', () => {
expect(mockPrismaService.membership.count).toHaveBeenCalledWith({
where: {
userId: USER_ID,
status: MembershipStatus.ACTIVE,
status: { in: [MembershipStatus.ACTIVE, MembershipStatus.SCHEDULED] },
startDate: { lte: expect.any(Date) },
expireDate: { gt: expect.any(Date) },
OR: [{ remainingTimes: { gt: 0 } }, { remainingTimes: null }],
},
})
expect(result.user.activeMembershipCount).toBe(2)

View File

@@ -1,3 +1,4 @@
import { currentMembershipWhere } from '../membership/membership-query'
import { Inject, Injectable, Optional, UnauthorizedException, forwardRef } from '@nestjs/common'
import { JwtService } from '@nestjs/jwt'
import { User } from '@prisma/client'
@@ -99,7 +100,7 @@ export class AuthService {
const activeMembershipCount = await this.prisma.membership.count({
where: {
userId: user.id,
status: MembershipStatus.ACTIVE,
...currentMembershipWhere(),
},
})