Skip to content

Commit fe9f51e

Browse files
fix tests repo
1 parent d9bd880 commit fe9f51e

File tree

4 files changed

+17
-34
lines changed

4 files changed

+17
-34
lines changed

redisinsight/api/src/__mocks__/common.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ export type MockType<T> = {
99

1010
export const mockQueryBuilderWhere = jest.fn().mockReturnThis();
1111
export const mockQueryBuilderSelect = jest.fn().mockReturnThis();
12+
export const mockQueryBuilderLeftJoinAndSelect = jest.fn().mockReturnThis();
1213
export const mockQueryBuilderGetOne = jest.fn();
1314
export const mockQueryBuilderGetMany = jest.fn();
1415
export const mockQueryBuilderGetManyRaw = jest.fn();
@@ -26,7 +27,7 @@ export const mockCreateQueryBuilder = jest.fn(() => ({
2627
having: jest.fn().mockReturnThis(),
2728
limit: jest.fn().mockReturnThis(),
2829
leftJoin: jest.fn().mockReturnThis(),
29-
leftJoinAndSelect: jest.fn().mockReturnThis(),
30+
leftJoinAndSelect: mockQueryBuilderLeftJoinAndSelect,
3031
offset: jest.fn().mockReturnThis(),
3132
delete: jest.fn().mockReturnThis(),
3233
whereInIds: jest.fn().mockReturnThis(),

redisinsight/api/src/__mocks__/databases.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -251,12 +251,6 @@ export const mockDatabaseRepository = jest.fn(() => ({
251251
pick(mockDatabase, 'id', 'name'),
252252
pick(mockDatabase, 'id', 'name'),
253253
]),
254-
createQueryBuilder: jest.fn().mockReturnThis(),
255-
leftJoinAndSelect: jest.fn().mockReturnThis(),
256-
where: jest.fn().mockReturnThis(),
257-
select: jest.fn().mockReturnThis(),
258-
getMany: jest.fn().mockResolvedValue([]),
259-
findOneBy: jest.fn().mockResolvedValue(mockDatabase),
260254
}));
261255

262256
export const mockDatabaseService = jest.fn(() => ({

redisinsight/api/src/modules/certificate/repositories/local.ca-certificate.repository.spec.ts

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import { Repository } from 'typeorm';
66
import {
77
mockCaCertificate, mockCaCertificateCertificateEncrypted, mockCaCertificateCertificatePlain, mockCaCertificateEntity,
88
mockCaCertificateId,
9-
mockDatabaseRepository,
109
mockEncryptionService,
1110
mockRepository,
1211
MockType,
@@ -22,6 +21,7 @@ describe('LocalCaCertificateRepository', () => {
2221
let service: LocalCaCertificateRepository;
2322
let encryptionService: MockType<EncryptionService>;
2423
let repository: MockType<Repository<CaCertificateEntity>>;
24+
let databaseRepository: MockType<Repository<DatabaseEntity>>;
2525

2626
beforeEach(async () => {
2727
jest.clearAllMocks();
@@ -35,7 +35,7 @@ describe('LocalCaCertificateRepository', () => {
3535
},
3636
{
3737
provide: getRepositoryToken(DatabaseEntity),
38-
useFactory: mockDatabaseRepository,
38+
useFactory: mockRepository,
3939
},
4040
{
4141
provide: EncryptionService,
@@ -45,6 +45,7 @@ describe('LocalCaCertificateRepository', () => {
4545
}).compile();
4646

4747
repository = await module.get(getRepositoryToken(CaCertificateEntity));
48+
databaseRepository = await module.get(getRepositoryToken(DatabaseEntity));
4849
encryptionService = await module.get(EncryptionService);
4950
service = await module.get(LocalCaCertificateRepository);
5051

@@ -113,15 +114,7 @@ describe('LocalCaCertificateRepository', () => {
113114

114115
// Mock findOneBy to return a certificate
115116
repository.findOneBy.mockResolvedValue(mockCaCertificate);
116-
117-
// Mock getMany to return affected databases
118-
const mockQueryBuilder = {
119-
leftJoinAndSelect: jest.fn().mockReturnThis(),
120-
where: jest.fn().mockReturnThis(),
121-
select: jest.fn().mockReturnThis(),
122-
getMany: jest.fn().mockResolvedValue(mockAffectedDatabases.map((id) => ({ id }))),
123-
};
124-
jest.spyOn(service['databaseRepository'], 'createQueryBuilder').mockReturnValue(mockQueryBuilder as any);
117+
databaseRepository.createQueryBuilder().getMany.mockResolvedValue(mockAffectedDatabases.map((id) => ({ id })));
125118

126119
// Mock delete operation
127120
repository.delete.mockResolvedValue(undefined);
@@ -130,10 +123,10 @@ describe('LocalCaCertificateRepository', () => {
130123

131124
expect(result).toEqual({ affectedDatabases: mockAffectedDatabases });
132125
expect(repository.findOneBy).toHaveBeenCalledWith({ id: mockId });
133-
expect(service['databaseRepository'].createQueryBuilder).toHaveBeenCalledWith('d');
134-
expect(mockQueryBuilder.leftJoinAndSelect).toHaveBeenCalledWith('d.caCert', 'c');
135-
expect(mockQueryBuilder.where).toHaveBeenCalledWith({ caCert: mockId });
136-
expect(mockQueryBuilder.select).toHaveBeenCalledWith(['d.id']);
126+
expect(databaseRepository.createQueryBuilder).toHaveBeenCalledWith('d');
127+
expect(databaseRepository.createQueryBuilder().leftJoinAndSelect).toHaveBeenCalledWith('d.caCert', 'c');
128+
expect(databaseRepository.createQueryBuilder().where).toHaveBeenCalledWith({ caCert: mockId });
129+
expect(databaseRepository.createQueryBuilder().select).toHaveBeenCalledWith(['d.id']);
137130
expect(repository.delete).toHaveBeenCalledWith(mockId);
138131
});
139132

redisinsight/api/src/modules/certificate/repositories/local.client-certificate.repository.spec.ts

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import {
1111
mockClientCertificateId,
1212
mockClientCertificateKeyEncrypted,
1313
mockClientCertificateKeyPlain,
14-
mockDatabaseRepository,
1514
mockEncryptionService,
1615
mockRepository,
1716
MockType,
@@ -29,6 +28,7 @@ describe('LocalClientCertificateRepository', () => {
2928
let service: LocalClientCertificateRepository;
3029
let encryptionService: MockType<EncryptionService>;
3130
let repository: MockType<Repository<ClientCertificateEntity>>;
31+
let databaseRepository: MockType<Repository<DatabaseEntity>>;
3232

3333
beforeEach(async () => {
3434
jest.clearAllMocks();
@@ -42,7 +42,7 @@ describe('LocalClientCertificateRepository', () => {
4242
},
4343
{
4444
provide: getRepositoryToken(DatabaseEntity),
45-
useFactory: mockDatabaseRepository,
45+
useFactory: mockRepository,
4646
},
4747
{
4848
provide: EncryptionService,
@@ -52,6 +52,7 @@ describe('LocalClientCertificateRepository', () => {
5252
}).compile();
5353

5454
repository = await module.get(getRepositoryToken(ClientCertificateEntity));
55+
databaseRepository = await module.get(getRepositoryToken(DatabaseEntity));
5556
encryptionService = await module.get(EncryptionService);
5657
service = await module.get(LocalClientCertificateRepository);
5758

@@ -133,13 +134,7 @@ describe('LocalClientCertificateRepository', () => {
133134
it('should delete client certificate and return affected databases', async () => {
134135
jest.spyOn(repository, 'findOneBy').mockResolvedValue(mockClientCertificate);
135136

136-
const mockQueryBuilder = {
137-
leftJoinAndSelect: jest.fn().mockReturnThis(),
138-
where: jest.fn().mockReturnThis(),
139-
select: jest.fn().mockReturnThis(),
140-
getMany: jest.fn().mockResolvedValue(mockAffectedDatabases.map((id) => ({ id })))
141-
};
142-
jest.spyOn(service['databaseRepository'], 'createQueryBuilder').mockReturnValue(mockQueryBuilder as any);
137+
databaseRepository.createQueryBuilder().getMany.mockResolvedValue(mockAffectedDatabases.map((id) => ({ id })));
143138

144139
jest.spyOn(repository, 'delete').mockResolvedValue(undefined);
145140

@@ -148,9 +143,9 @@ describe('LocalClientCertificateRepository', () => {
148143
expect(result).toEqual({ affectedDatabases: mockAffectedDatabases });
149144
expect(repository.findOneBy).toHaveBeenCalledWith({ id: mockId });
150145
expect(service['databaseRepository'].createQueryBuilder).toHaveBeenCalledWith('d');
151-
expect(mockQueryBuilder.leftJoinAndSelect).toHaveBeenCalledWith('d.clientCert', 'c');
152-
expect(mockQueryBuilder.where).toHaveBeenCalledWith({ clientCert: mockId });
153-
expect(mockQueryBuilder.select).toHaveBeenCalledWith(['d.id']);
146+
expect(databaseRepository.createQueryBuilder().leftJoinAndSelect).toHaveBeenCalledWith('d.clientCert', 'c');
147+
expect(databaseRepository.createQueryBuilder().where).toHaveBeenCalledWith({ clientCert: mockId });
148+
expect(databaseRepository.createQueryBuilder().select).toHaveBeenCalledWith(['d.id']);
154149
expect(repository.delete).toHaveBeenCalledWith(mockId);
155150
});
156151

0 commit comments

Comments
 (0)