add MockApResolverService testing utility
This commit is contained in:
parent
ac0d261190
commit
ff76371057
1 changed files with 127 additions and 0 deletions
127
packages/backend/test/misc/MockApResolverService.ts
Normal file
127
packages/backend/test/misc/MockApResolverService.ts
Normal file
|
|
@ -0,0 +1,127 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: hazelnoot and other Sharkey contributors
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
|
||||
import { Inject, Injectable } from '@nestjs/common';
|
||||
import { MockResolver } from './mock-resolver.js';
|
||||
import type { Config } from '@/config.js';
|
||||
import type { MiMeta } from '@/models/Meta.js';
|
||||
import type {
|
||||
UsersRepository,
|
||||
NotesRepository,
|
||||
PollsRepository,
|
||||
NoteReactionsRepository,
|
||||
FollowRequestsRepository,
|
||||
} from '@/models/_.js';
|
||||
import { ApResolverService } from '@/core/activitypub/ApResolverService.js';
|
||||
import { DI } from '@/di-symbols.js';
|
||||
import { UtilityService } from '@/core/UtilityService.js';
|
||||
import { SystemAccountService } from '@/core/SystemAccountService.js';
|
||||
import { ApRequestService } from '@/core/activitypub/ApRequestService.js';
|
||||
import { HttpRequestService } from '@/core/HttpRequestService.js';
|
||||
import { ApRendererService } from '@/core/activitypub/ApRendererService.js';
|
||||
import { ApDbResolverService } from '@/core/activitypub/ApDbResolverService.js';
|
||||
import { LoggerService } from '@/core/LoggerService.js';
|
||||
import { ApLogService } from '@/core/ApLogService.js';
|
||||
import { ApUtilityService } from '@/core/activitypub/ApUtilityService.js';
|
||||
import { CacheService } from '@/core/CacheService.js';
|
||||
import { bindThis } from '@/decorators.js';
|
||||
|
||||
/**
|
||||
* Mock implementation of ApResolverService to automatically provide a MockResolver to the entire test environment.
|
||||
*/
|
||||
@Injectable()
|
||||
export class MockApResolverService extends ApResolverService {
|
||||
/**
|
||||
* Resolver that will be provided.
|
||||
*/
|
||||
public readonly resolver: MockResolver;
|
||||
|
||||
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,
|
||||
) {
|
||||
super(
|
||||
config,
|
||||
meta,
|
||||
usersRepository,
|
||||
notesRepository,
|
||||
pollsRepository,
|
||||
noteReactionsRepository,
|
||||
followRequestsRepository,
|
||||
utilityService,
|
||||
systemAccountService,
|
||||
apRequestService,
|
||||
httpRequestService,
|
||||
apRendererService,
|
||||
apDbResolverService,
|
||||
loggerService,
|
||||
apLogService,
|
||||
apUtilityService,
|
||||
cacheService,
|
||||
);
|
||||
|
||||
this.resolver = new MockResolver(
|
||||
this.config,
|
||||
this.meta,
|
||||
this.usersRepository,
|
||||
this.notesRepository,
|
||||
this.pollsRepository,
|
||||
this.noteReactionsRepository,
|
||||
this.followRequestsRepository,
|
||||
this.utilityService,
|
||||
this.systemAccountService,
|
||||
this.apRequestService,
|
||||
this.httpRequestService,
|
||||
this.apRendererService,
|
||||
this.apDbResolverService,
|
||||
this.loggerService,
|
||||
this.apLogService,
|
||||
this.apUtilityService,
|
||||
this.cacheService,
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Resets the mock to initial state.
|
||||
*/
|
||||
@bindThis
|
||||
reset() {
|
||||
this.resolver.clear();
|
||||
}
|
||||
|
||||
@bindThis
|
||||
createResolver(): MockResolver {
|
||||
return this.resolver;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue