implement MockApResolverService.ts testing utility

This commit is contained in:
Hazelnoot 2025-09-30 21:55:20 -04:00
parent 6f6ee0436e
commit 5b01ed54b9
2 changed files with 71 additions and 35 deletions

View file

@ -410,36 +410,36 @@ export class Resolver {
export class ApResolverService {
constructor(
@Inject(DI.config)
private config: Config,
protected readonly config: Config,
@Inject(DI.meta)
private meta: MiMeta,
protected readonly meta: MiMeta,
@Inject(DI.usersRepository)
private usersRepository: UsersRepository,
protected readonly usersRepository: UsersRepository,
@Inject(DI.notesRepository)
private notesRepository: NotesRepository,
protected readonly notesRepository: NotesRepository,
@Inject(DI.pollsRepository)
private pollsRepository: PollsRepository,
protected readonly pollsRepository: PollsRepository,
@Inject(DI.noteReactionsRepository)
private noteReactionsRepository: NoteReactionsRepository,
protected readonly noteReactionsRepository: NoteReactionsRepository,
@Inject(DI.followRequestsRepository)
private followRequestsRepository: FollowRequestsRepository,
protected readonly followRequestsRepository: FollowRequestsRepository,
private utilityService: UtilityService,
private systemAccountService: SystemAccountService,
private apRequestService: ApRequestService,
private httpRequestService: HttpRequestService,
private apRendererService: ApRendererService,
private apDbResolverService: ApDbResolverService,
private loggerService: LoggerService,
private readonly apLogService: ApLogService,
private readonly apUtilityService: ApUtilityService,
private readonly cacheService: CacheService,
protected readonly utilityService: UtilityService,
protected readonly systemAccountService: SystemAccountService,
protected readonly apRequestService: ApRequestService,
protected readonly httpRequestService: HttpRequestService,
protected readonly apRendererService: ApRendererService,
protected readonly apDbResolverService: ApDbResolverService,
protected readonly loggerService: LoggerService,
protected readonly apLogService: ApLogService,
protected readonly apUtilityService: ApUtilityService,
protected readonly cacheService: CacheService,
) {
}

View file

@ -3,6 +3,8 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import { Inject } from '@nestjs/common';
import { MockLoggerService } from './MockLoggerService.js';
import type { Config } from '@/config.js';
import type { ApDbResolverService } from '@/core/activitypub/ApDbResolverService.js';
import type { ApRendererService } from '@/core/activitypub/ApRendererService.js';
@ -38,25 +40,59 @@ export class MockResolver extends Resolver {
#responseMap = new Map<string, MockResponse>();
#remoteGetTrials: string[] = [];
constructor(loggerService: LoggerService) {
constructor(
@Inject(DI.config)
config?: Config,
@Inject(DI.meta)
meta?: MiMeta,
@Inject(DI.usersRepository)
usersRepository?: UsersRepository,
@Inject(DI.notesRepository)
notesRepository?: NotesRepository,
@Inject(DI.pollsRepository)
pollsRepository?: PollsRepository,
@Inject(DI.noteReactionsRepository)
noteReactionsRepository?: NoteReactionsRepository,
@Inject(DI.followRequestsRepository)
followRequestsRepository?: FollowRequestsRepository,
utilityService?: UtilityService,
systemAccountService?: SystemAccountService,
apRequestService?: ApRequestService,
httpRequestService?: HttpRequestService,
apRendererService?: ApRendererService,
apDbResolverService?: ApDbResolverService,
loggerService?: LoggerService,
apLogService?: ApLogService,
apUtilityService?: ApUtilityService,
cacheService?: CacheService,
recursionLimit?: number,
) {
super(
{} as Config,
{} as MiMeta,
{} as UsersRepository,
{} as NotesRepository,
{} as PollsRepository,
{} as NoteReactionsRepository,
{} as FollowRequestsRepository,
{} as UtilityService,
{} as SystemAccountService,
{} as ApRequestService,
{} as HttpRequestService,
{} as ApRendererService,
{} as ApDbResolverService,
loggerService,
{} as ApLogService,
{} as ApUtilityService,
{} as CacheService,
config ?? {} as Config,
meta ?? {} as MiMeta,
usersRepository ?? {} as UsersRepository,
notesRepository ?? {} as NotesRepository,
pollsRepository ?? {} as PollsRepository,
noteReactionsRepository ?? {} as NoteReactionsRepository,
followRequestsRepository ?? {} as FollowRequestsRepository,
utilityService ?? {} as UtilityService,
systemAccountService ?? {} as SystemAccountService,
apRequestService ?? {} as ApRequestService,
httpRequestService ?? {} as HttpRequestService,
apRendererService ?? {} as ApRendererService,
apDbResolverService ?? {} as ApDbResolverService,
loggerService ?? new MockLoggerService(),
apLogService ?? {} as ApLogService,
apUtilityService ?? {} as ApUtilityService,
cacheService ?? {} as CacheService,
recursionLimit,
);
}