fix(api): add clearAllMocks and explicit return type to GroupsModule

- Add jest.clearAllMocks() in beforeEach of both spec files to prevent
  call-history state from leaking between tests as the suites grow
- Define GroupSummary interface and use it as explicit return type for
  GroupsService.list() to satisfy TypeScript strict typing requirements

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-28 01:00:09 +05:30
parent 0e92b24bf0
commit f4a40b573e
3 changed files with 18 additions and 1 deletions
@@ -10,6 +10,10 @@ const mockService = { list: jest.fn().mockResolvedValue(mockGroups) };
describe('GroupsController', () => {
let controller: GroupsController;
beforeEach(() => {
jest.clearAllMocks();
});
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
controllers: [GroupsController],
@@ -11,6 +11,10 @@ describe('GroupsService', () => {
let service: GroupsService;
const mockPrisma = { group: { findMany: jest.fn().mockResolvedValue(mockGroups) } };
beforeEach(() => {
jest.clearAllMocks();
});
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
providers: [
+10 -1
View File
@@ -1,11 +1,20 @@
import { Injectable } from '@nestjs/common';
import { PrismaService } from '../../prisma/prisma.service';
interface GroupSummary {
id: string;
name: string;
platform: string;
platformId: string;
isActive: boolean;
accountId: string | null;
}
@Injectable()
export class GroupsService {
constructor(private readonly prisma: PrismaService) {}
list() {
list(): Promise<GroupSummary[]> {
return this.prisma.group.findMany({
orderBy: { name: 'asc' },
select: { id: true, name: true, platform: true, platformId: true, isActive: true, accountId: true },