fix tests

This commit is contained in:
Hazelnoot 2025-05-27 20:22:22 -04:00
parent 4738b14d1c
commit 0912a8bb10
4 changed files with 58 additions and 6 deletions

View file

@ -11,6 +11,7 @@ import { GlobalModule } from '@/GlobalModule.js';
import { DI } from '@/di-symbols.js'; import { DI } from '@/di-symbols.js';
import { MetaService } from '@/core/MetaService.js'; import { MetaService } from '@/core/MetaService.js';
import { CoreModule } from '@/core/CoreModule.js'; import { CoreModule } from '@/core/CoreModule.js';
import { MetasRepository } from '@/models/_.js';
import type { TestingModule } from '@nestjs/testing'; import type { TestingModule } from '@nestjs/testing';
import type { DataSource } from 'typeorm'; import type { DataSource } from 'typeorm';
@ -39,8 +40,8 @@ describe('MetaService', () => {
}); });
test('fetch (cache)', async () => { test('fetch (cache)', async () => {
const db = app.get<DataSource>(DI.db); const metasRepository = app.get<MetasRepository>(DI.metasRepository);
const spy = jest.spyOn(db, 'transaction'); const spy = jest.spyOn(metasRepository, 'createQueryBuilder');
const result = await metaService.fetch(); const result = await metaService.fetch();
@ -49,12 +50,12 @@ describe('MetaService', () => {
}); });
test('fetch (force)', async () => { test('fetch (force)', async () => {
const db = app.get<DataSource>(DI.db); const metasRepository = app.get<MetasRepository>(DI.metasRepository);
const spy = jest.spyOn(db, 'transaction'); const spy = jest.spyOn(metasRepository, 'createQueryBuilder');
const result = await metaService.fetch(true); const result = await metaService.fetch(true);
expect(result.id).toBe('x'); expect(result.id).toBe('x');
expect(spy).toHaveBeenCalledTimes(1); expect(spy).toHaveBeenCalled();
}); });
}); });

View file

@ -15,6 +15,7 @@ import type { MockFunctionMetadata } from 'jest-mock';
import { GlobalModule } from '@/GlobalModule.js'; import { GlobalModule } from '@/GlobalModule.js';
import { RoleService } from '@/core/RoleService.js'; import { RoleService } from '@/core/RoleService.js';
import { import {
InstancesRepository,
MiMeta, MiMeta,
MiRole, MiRole,
MiRoleAssignment, MiRoleAssignment,
@ -39,6 +40,7 @@ const moduleMocker = new ModuleMocker(global);
describe('RoleService', () => { describe('RoleService', () => {
let app: TestingModule; let app: TestingModule;
let roleService: RoleService; let roleService: RoleService;
let instancesRepository: InstancesRepository;
let usersRepository: UsersRepository; let usersRepository: UsersRepository;
let rolesRepository: RolesRepository; let rolesRepository: RolesRepository;
let roleAssignmentsRepository: RoleAssignmentsRepository; let roleAssignmentsRepository: RoleAssignmentsRepository;
@ -47,6 +49,19 @@ describe('RoleService', () => {
let clock: lolex.InstalledClock; let clock: lolex.InstalledClock;
async function createUser(data: Partial<MiUser> = {}) { async function createUser(data: Partial<MiUser> = {}) {
if (data.host != null) {
await instancesRepository
.createQueryBuilder('instance')
.insert()
.values({
id: genAidx(Date.now()),
firstRetrievedAt: new Date(),
host: data.host,
})
.orIgnore()
.execute();
}
const un = secureRndstr(16); const un = secureRndstr(16);
const x = await usersRepository.insert({ const x = await usersRepository.insert({
id: genAidx(Date.now()), id: genAidx(Date.now()),
@ -145,6 +160,7 @@ describe('RoleService', () => {
app.enableShutdownHooks(); app.enableShutdownHooks();
roleService = app.get<RoleService>(RoleService); roleService = app.get<RoleService>(RoleService);
instancesRepository = app.get<InstancesRepository>(DI.instancesRepository);
usersRepository = app.get<UsersRepository>(DI.usersRepository); usersRepository = app.get<UsersRepository>(DI.usersRepository);
rolesRepository = app.get<RolesRepository>(DI.rolesRepository); rolesRepository = app.get<RolesRepository>(DI.rolesRepository);
roleAssignmentsRepository = app.get<RoleAssignmentsRepository>(DI.roleAssignmentsRepository); roleAssignmentsRepository = app.get<RoleAssignmentsRepository>(DI.roleAssignmentsRepository);

View file

@ -7,16 +7,18 @@ import { Test, TestingModule } from '@nestjs/testing';
import { describe, jest, test } from '@jest/globals'; import { describe, jest, test } from '@jest/globals';
import { In } from 'typeorm'; import { In } from 'typeorm';
import { UserSearchService } from '@/core/UserSearchService.js'; import { UserSearchService } from '@/core/UserSearchService.js';
import { FollowingsRepository, MiUser, UserProfilesRepository, UsersRepository } from '@/models/_.js'; import { FollowingsRepository, InstancesRepository, MiUser, UserProfilesRepository, UsersRepository } from '@/models/_.js';
import { IdService } from '@/core/IdService.js'; import { IdService } from '@/core/IdService.js';
import { GlobalModule } from '@/GlobalModule.js'; import { GlobalModule } from '@/GlobalModule.js';
import { DI } from '@/di-symbols.js'; import { DI } from '@/di-symbols.js';
import { UserEntityService } from '@/core/entities/UserEntityService.js'; import { UserEntityService } from '@/core/entities/UserEntityService.js';
import { genAidx } from '@/misc/id/aidx.js';
describe('UserSearchService', () => { describe('UserSearchService', () => {
let app: TestingModule; let app: TestingModule;
let service: UserSearchService; let service: UserSearchService;
let instancesRepository: InstancesRepository;
let usersRepository: UsersRepository; let usersRepository: UsersRepository;
let followingsRepository: FollowingsRepository; let followingsRepository: FollowingsRepository;
let idService: IdService; let idService: IdService;
@ -35,6 +37,19 @@ describe('UserSearchService', () => {
let bobby: MiUser; let bobby: MiUser;
async function createUser(data: Partial<MiUser> = {}) { async function createUser(data: Partial<MiUser> = {}) {
if (data.host != null) {
await instancesRepository
.createQueryBuilder('instance')
.insert()
.values({
id: genAidx(Date.now()),
firstRetrievedAt: new Date(),
host: data.host,
})
.orIgnore()
.execute();
}
const user = await usersRepository const user = await usersRepository
.insert({ .insert({
id: idService.gen(), id: idService.gen(),
@ -104,6 +119,7 @@ describe('UserSearchService', () => {
await app.init(); await app.init();
instancesRepository = app.get<InstancesRepository>(DI.instancesRepository);
usersRepository = app.get(DI.usersRepository); usersRepository = app.get(DI.usersRepository);
userProfilesRepository = app.get(DI.userProfilesRepository); userProfilesRepository = app.get(DI.userProfilesRepository);
followingsRepository = app.get(DI.followingsRepository); followingsRepository = app.get(DI.followingsRepository);

View file

@ -103,6 +103,25 @@ describe('ActivityPub', () => {
let config: Config; let config: Config;
const metaInitial = { const metaInitial = {
id: 'x',
name: 'Test Instance',
shortName: 'Test Instance',
description: 'Test Instance',
langs: [] as string[],
pinnedUsers: [] as string[],
hiddenTags: [] as string[],
prohibitedWordsForNameOfUser: [] as string[],
silencedHosts: [] as string[],
mediaSilencedHosts: [] as string[],
policies: {},
serverRules: [] as string[],
bannedEmailDomains: [] as string[],
preservedUsernames: [] as string[],
bubbleInstances: [] as string[],
trustedLinkUrlPatterns: [] as string[],
federation: 'all',
federationHosts: [] as string[],
allowUnsignedFetch: 'always',
cacheRemoteFiles: true, cacheRemoteFiles: true,
cacheRemoteSensitiveFiles: true, cacheRemoteSensitiveFiles: true,
enableFanoutTimeline: true, enableFanoutTimeline: true,