Skip to content
Snippets Groups Projects
Select Git revision
  • 181d424ba1ff590d1e1695cd44efb443c7ca41dd
  • main default protected
  • release
  • OZG-7856_schadcode_scanner
  • ci-pipeline
  • OZG-7526-signatur-nicht-uebernommen
  • OZG-6223-zip-download-bug
  • OZG-7367-tooltip-extension
  • OZG-7023-OZG-6956-E2E-externe-Stellen
  • OZG-6238-npm-durch-pnpm-ersetzen
  • release-admin
  • release-info
  • OZG-6700-admin-feature-toggle
  • E2E-Updates
  • OZG-7047-tooltips
  • OZG-6957-e2e-fachstellen-oe-daten
  • OZG-7006-ZuarbeitAnfragen
  • temp_OZG-7027
  • unit-tests-hotfix
  • OZG-6731-POC-keycloakResourceService-with-multiple-stateResources
  • e2e-add-zufi-version
  • 2.26.0
  • 2.25.0
  • 2.24.2
  • 2.24.1
  • 2.24.0
  • 2.23.0
  • 2.22.0
  • 2.21.0
  • 2.20.0
  • 2.21.0-SNAPSHOT
  • 2.19.0
  • 2.18.0
  • 2.17.1
  • 1.3.0
  • release-admin-1.3.0
  • release-info-1.3.0
  • 2.17.0
  • 2.16.0
  • 2.15.0
  • release-admin-1.1.0
41 results

formservice.abstract.spec.ts

Blame
    • OZGCloud's avatar
      40ca81fa
      Merge remote-tracking branch 'origin/master' into OZG-5012-GenerischerResourceService · 40ca81fa
      OZGCloud authored
      # Conflicts:
      #	alfa-client/libs/admin-settings/src/lib/admin-settings.module.ts
      #	alfa-client/libs/admin-settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-form/organisationseinheit.formservice.spec.ts
      #	alfa-client/libs/admin-settings/src/lib/postfach/postfach-container/postfach-form/postfach-form.component.spec.ts
      #	alfa-client/libs/admin-settings/src/lib/postfach/postfach.service.ts
      #	alfa-client/libs/bescheid-shared/src/lib/bescheid.service.spec.ts
      #	alfa-client/libs/bescheid-shared/src/lib/bescheid.service.ts
      #	alfa-client/libs/command-shared/src/index.ts
      #	alfa-client/libs/tech-shared/src/index.ts
      #	alfa-client/libs/tech-shared/src/lib/resource/list-resource.service.spec.ts
      #	alfa-client/libs/tech-shared/src/lib/resource/resource.service.itcase.spec.ts
      #	alfa-client/libs/tech-shared/src/lib/resource/resource.service.spec.ts
      #	alfa-client/libs/tech-shared/src/lib/resource/resource.service.ts
      #	alfa-client/libs/tech-shared/src/lib/resource/resource.util.ts
      #	alfa-client/libs/tech-shared/test/marbles.ts
      40ca81fa
      History
      Merge remote-tracking branch 'origin/master' into OZG-5012-GenerischerResourceService
      OZGCloud authored
      # Conflicts:
      #	alfa-client/libs/admin-settings/src/lib/admin-settings.module.ts
      #	alfa-client/libs/admin-settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-form/organisationseinheit.formservice.spec.ts
      #	alfa-client/libs/admin-settings/src/lib/postfach/postfach-container/postfach-form/postfach-form.component.spec.ts
      #	alfa-client/libs/admin-settings/src/lib/postfach/postfach.service.ts
      #	alfa-client/libs/bescheid-shared/src/lib/bescheid.service.spec.ts
      #	alfa-client/libs/bescheid-shared/src/lib/bescheid.service.ts
      #	alfa-client/libs/command-shared/src/index.ts
      #	alfa-client/libs/tech-shared/src/index.ts
      #	alfa-client/libs/tech-shared/src/lib/resource/list-resource.service.spec.ts
      #	alfa-client/libs/tech-shared/src/lib/resource/resource.service.itcase.spec.ts
      #	alfa-client/libs/tech-shared/src/lib/resource/resource.service.spec.ts
      #	alfa-client/libs/tech-shared/src/lib/resource/resource.service.ts
      #	alfa-client/libs/tech-shared/src/lib/resource/resource.util.ts
      #	alfa-client/libs/tech-shared/test/marbles.ts
    formservice.abstract.spec.ts 6.33 KiB
    /*
     * Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
     * Ministerpräsidenten des Landes Schleswig-Holstein
     * Staatskanzlei
     * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
     *
     * Lizenziert unter der EUPL, Version 1.2 oder - sobald
     * diese von der Europäischen Kommission genehmigt wurden -
     * Folgeversionen der EUPL ("Lizenz");
     * Sie dürfen dieses Werk ausschließlich gemäß
     * dieser Lizenz nutzen.
     * Eine Kopie der Lizenz finden Sie hier:
     *
     * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
     *
     * Sofern nicht durch anwendbare Rechtsvorschriften
     * gefordert oder in schriftlicher Form vereinbart, wird
     * die unter der Lizenz verbreitete Software "so wie sie
     * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
     * ausdrücklich oder stillschweigend - verbreitet.
     * Die sprachspezifischen Genehmigungen und Beschränkungen
     * unter der Lizenz sind dem Lizenztext zu entnehmen.
     */
    import { CommandResource } from '@alfa-client/command-shared';
    import { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup } from '@angular/forms';
    import { Resource } from '@ngxp/rest';
    import { cold } from 'jest-marbles';
    import {
      createApiError,
      createInvalidParam,
      createIssue,
      createProblemDetail,
    } from 'libs/tech-shared/test/error';
    import { Observable, of } from 'rxjs';
    import { AbstractFormService } from './formservice.abstract';
    
    import {
      StateResource,
      createEmptyStateResource,
      createErrorStateResource,
    } from '../resource/resource.util';
    import { ApiError, HttpError, InvalidParam, Issue, ProblemDetail } from '../tech.model';
    
    import * as ValidationUtil from '../validation/tech.validation.util';
    
    describe('AbstractFormService', () => {
      let formService: AbstractFormService;
    
      beforeEach(() => {
        formService = new TestFormService(new UntypedFormBuilder());
      });
    
      it('should create', () => {
        expect(formService).toBeTruthy();
      });
    
      describe('submit', () => {
        describe('with api error', () => {
          const stateResourceWithError: StateResource<ApiError> =
            createErrorStateResource(createApiError());
    
          beforeEach(() => {
            TestFormService.SUBMIT_OBSERVABLE = () => of(stateResourceWithError);
            formService.handleResponse = jest.fn((stateResource) => stateResource);
          });
          it('should call handle response for api error', (done) => {
            formService.submit().subscribe(() => {
              expect(formService.handleResponse).toHaveBeenCalledWith(stateResourceWithError);
              done();
            });