mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2025-05-19 09:45:37 -04:00
fix(repository): Move backend code into subdirectory
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
This commit is contained in:
parent
86584e705f
commit
bf30cbcf48
272 changed files with 87 additions and 67 deletions
49
backend/src/utils/test-utils/mockSelectQueryBuilder.ts
Normal file
49
backend/src/utils/test-utils/mockSelectQueryBuilder.ts
Normal file
|
@ -0,0 +1,49 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2022 The HedgeDoc developers (see AUTHORS file)
|
||||
*
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
import { Mock } from 'ts-mockery';
|
||||
import { ObjectLiteral, Repository, SelectQueryBuilder } from 'typeorm';
|
||||
|
||||
/**
|
||||
* Mocks a {@link SelectQueryBuilder} that returns a given entity.
|
||||
*
|
||||
* @param returnValue The entity to return
|
||||
* @return The mocked query builder
|
||||
*/
|
||||
export function mockSelectQueryBuilder<T>(
|
||||
returnValue: T | null,
|
||||
): SelectQueryBuilder<T> {
|
||||
const mockedQueryBuilder: SelectQueryBuilder<T> = Mock.of<
|
||||
SelectQueryBuilder<T>
|
||||
>({
|
||||
where: () => mockedQueryBuilder,
|
||||
andWhere: () => mockedQueryBuilder,
|
||||
leftJoinAndSelect: () => mockedQueryBuilder,
|
||||
getOne: () => Promise.resolve(returnValue),
|
||||
orWhere: () => mockedQueryBuilder,
|
||||
setParameter: () => mockedQueryBuilder,
|
||||
getMany: () => Promise.resolve(returnValue ? [returnValue] : []),
|
||||
});
|
||||
return mockedQueryBuilder;
|
||||
}
|
||||
|
||||
/**
|
||||
* Mocks an {@link SelectQueryBuilder} and injects it into the given {@link Repository}.
|
||||
*
|
||||
* @param repository The repository whose query builder function should be mocked
|
||||
* @param returnValue The value that should be found by the query builder
|
||||
* @return The mocked query builder
|
||||
* @see mockSelectQueryBuilder
|
||||
*/
|
||||
export function mockSelectQueryBuilderInRepo<T extends ObjectLiteral>(
|
||||
repository: Repository<T>,
|
||||
returnValue: T | null,
|
||||
): SelectQueryBuilder<T> {
|
||||
const selectQueryBuilder = mockSelectQueryBuilder(returnValue);
|
||||
jest
|
||||
.spyOn(repository, 'createQueryBuilder')
|
||||
.mockImplementation(() => selectQueryBuilder);
|
||||
return selectQueryBuilder;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue