import { Injectable } from '@angular/core'; import { APIAdminClient, ClientSettings } from '@core/typings/api/admin-client.typing'; import { ClientBrandingForUi, ColorPaletteType } from '@core/typings/branding.typing'; import { LoginBehaviors } from '@core/typings/login-behaviors.typing'; import { ProcessingTypes } from '@core/typings/payment.typing'; import { ClientSettingsService } from '@features/client-settings/client-settings.service'; import { MockAngularProvider } from '@yourcause/test-decorators/angular/helpers'; @Injectable({ providedIn: 'root' }) export class ClientSettingsServiceMock extends ClientSettingsService { get clientSettings (): ClientSettings { return { paymentDesignations: true, specialHandling: true, allowExpeditedPayments: true, hasInternational: true, hasSSO: true, country: 'US', defaultTimezone: 'UTC', allowBudgetOverages: true, apEnabled: true, canConfigureWebservices: true, isTestClient: true, reserveFunds: true, allowExternalApis: true, clientId: 1, isRootClient: false, allowExternalEmails: false, clientProcessingType: ProcessingTypes.YourCause, applicantTypesSupported: APIAdminClient.SupportedApplicantTypes.EmployeesAndNonprofits }; } get clientBranding (): ClientBrandingForUi { return { logoUrl: '', brandPrimary: '#0000FF', brandSecondary: '#00FF00', brandUtility: '#808080', chartPrimary: '#0000FF', chartSecondary: '#00FF00', chartUtility: '#808080', colorPalette: ColorPaletteType.ALT, name: '', subDomain: '', loginBehavior: LoginBehaviors.PlainLogin, hasImportedFromUAT: true, logoName: 'Test' }; } } export const CLIENT_SETTINGS_SERVICE_MOCK = MockAngularProvider( ClientSettingsServiceMock, ClientSettingsService );