UNPKG

@crowdin/app-project-module

Version:

Module that generates for you all common endpoints for serving standalone Crowdin App

42 lines (41 loc) 1.42 kB
import { IntegrationFile, TreeItem, UpdateIntegrationRequest } from '../../modules/integration/types'; export interface ExpectedObject { [key: string]: unknown; } export interface ExpectedUpdateCrowdin { files?: ExpectedObject[]; folders?: ExpectedObject[]; } export interface BaseMethodTestConfig { disabled?: boolean; setup?: () => Promise<void>; extraChecks?: (params?: any) => Promise<void>; } export interface GetIntegrationFilesConfig extends Omit<BaseMethodTestConfig, 'disabled'> { expected: TreeItem[]; } export interface UpdateCrowdinConfig extends Partial<BaseMethodTestConfig> { updateProgressDisabled?: boolean; expected?: ExpectedUpdateCrowdin; updateRequest?: IntegrationFile[]; extraChecks?: (params: { request: IntegrationFile[]; result?: unknown; }) => Promise<void>; } export interface UpdateIntegrationConfig extends BaseMethodTestConfig { updateProgressDisabled?: boolean; updateRequest?: UpdateIntegrationRequest; extraChecks?: (params: { request: UpdateIntegrationRequest; result?: unknown; }) => Promise<void>; } export interface IntegrationTestConfig { getIntegrationFiles: GetIntegrationFilesConfig; updateCrowdin?: UpdateCrowdinConfig; updateIntegration?: UpdateIntegrationConfig; appSettings?: object; integrationCredentials?: object; beforeAll?: () => Promise<void>; }