Merge pull request #130 in TEA/mina-sidor-fa-web from correct-lint-and-tests to develop

Squashed commit of the following:

commit 82c88cc8bdae25f4306b4500921076776b9eb547
Author: Daniel Appelgren <daniel.appelgren@arbetsformedlingen.se>
Date:   Fri Sep 24 13:57:55 2021 +0200

    fixed errors and lint

commit 08ec0b9005ce08a6eecd0d3b083a4fa9e06e38af
Author: Daniel Appelgren <daniel.appelgren@arbetsformedlingen.se>
Date:   Fri Sep 24 13:48:27 2021 +0200

    Update deltagare-tab-reports.component.spec.ts
This commit is contained in:
Daniel Appelgren
2021-09-24 13:59:33 +02:00
parent 2d4849d9f1
commit ef263a9eb2
6 changed files with 39 additions and 44 deletions

View File

@@ -4,6 +4,8 @@ import { ReactiveFormsModule } from '@angular/forms';
import { RouterTestingModule } from '@angular/router/testing'; import { RouterTestingModule } from '@angular/router/testing';
import { LoaderModule } from '@msfa-shared/components/loader/loader.module'; import { LoaderModule } from '@msfa-shared/components/loader/loader.module';
import { DeltagareTabReportsComponent } from './deltagare-tab-reports.component'; import { DeltagareTabReportsComponent } from './deltagare-tab-reports.component';
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { DigiNgFormSelectModule } from '@af/digi-ng/_form/form-select';
describe('DeltagareTabReportsComponent', () => { describe('DeltagareTabReportsComponent', () => {
let component: DeltagareTabReportsComponent; let component: DeltagareTabReportsComponent;
@@ -12,7 +14,14 @@ describe('DeltagareTabReportsComponent', () => {
beforeEach(async () => { beforeEach(async () => {
await TestBed.configureTestingModule({ await TestBed.configureTestingModule({
declarations: [DeltagareTabReportsComponent], declarations: [DeltagareTabReportsComponent],
imports: [RouterTestingModule, HttpClientTestingModule, ReactiveFormsModule, LoaderModule], imports: [
RouterTestingModule,
HttpClientTestingModule,
ReactiveFormsModule,
LoaderModule,
DigiNgFormSelectModule,
],
schemas: [CUSTOM_ELEMENTS_SCHEMA],
}).compileComponents(); }).compileComponents();
}); });

View File

@@ -5,14 +5,11 @@ import { FormGroup } from '@angular/forms';
selector: 'msfa-periodisk-redovisning-form', selector: 'msfa-periodisk-redovisning-form',
templateUrl: './periodisk-redovisning-form.component.html', templateUrl: './periodisk-redovisning-form.component.html',
styleUrls: ['./periodisk-redovisning-form.component.scss'], styleUrls: ['./periodisk-redovisning-form.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush changeDetection: ChangeDetectionStrategy.OnPush,
}) })
export class PeriodiskRedovisningFormComponent { export class PeriodiskRedovisningFormComponent {
@Input() periodiskRedovisningFormGroup: FormGroup; @Input() periodiskRedovisningFormGroup: FormGroup;
@Input() totalAmountOfSteps: number; @Input() totalAmountOfSteps: number;
@Input() currentStep: number; @Input() currentStep: number;
@Output() submitPRFormGroup = new EventEmitter<FormGroup>(); @Output() submitPRFormGroup = new EventEmitter<FormGroup>();
constructor() {}
} }

View File

@@ -1,14 +1,12 @@
<msfa-layout> <msfa-layout>
<msfa-report-layout <msfa-report-layout
reportTitle="Periodisk Redovisning" reportTitle="Periodisk Redovisning"
reportSubTitle="Skapa redovisning" reportSubTitle="Skapa redovisning"
[totalAmountOfSteps]="totalAmountOfSteps" [totalAmountOfSteps]="totalAmountOfSteps"
[currentStep]="currentStep" [currentStep]="currentStep"
[isPeriodDate]="true" [isPeriodDate]="true"
[startDate]="'2021-09-01'" [startDate]="'2021-09-01'"
[endDate]="'2021-09-30'" [endDate]="'2021-09-30'">
(currentStepEvent)="currentStep = $event"
(sendRequestEvent)="sendRequest = $event">
<form <form
class="periodisk-redovisning" class="periodisk-redovisning"
*ngIf="periodiskRedovisningFormGroup" *ngIf="periodiskRedovisningFormGroup"
@@ -22,19 +20,19 @@
[formControlName]="lamnatJobbForslagFormControlName" [formControlName]="lamnatJobbForslagFormControlName"
[afRadiobuttonGroupDirection]="radiobuttonGroupDirection.HORIZONTAL" [afRadiobuttonGroupDirection]="radiobuttonGroupDirection.HORIZONTAL"
></digi-ng-form-radiobutton-group> ></digi-ng-form-radiobutton-group>
<digi-form-validation-message <digi-form-validation-message
af-variation="error" af-variation="error"
*ngIf="lamnatJobbForslagFormControl.invalid && lamnatJobbForslagFormControl.touched"> *ngIf="lamnatJobbForslagFormControl.invalid && lamnatJobbForslagFormControl.touched">
Svar på frågorna är obligatoriskt Svar på frågorna är obligatoriskt
</digi-form-validation-message> </digi-form-validation-message>
<p class="periodisk-redovisning__space-top">Har ni, under perioden, tillhandahållit språkstöd?</p> <p class="periodisk-redovisning__space-top">Har ni, under perioden, tillhandahållit språkstöd?</p>
<digi-ng-form-radiobutton-group <digi-ng-form-radiobutton-group
[afRadiobuttons]="[{label:'Ja', value: true}, {label:'Nej', value: false}]" [afRadiobuttons]="[{label:'Ja', value: true}, {label:'Nej', value: false}]"
[formControlName]="providedSprakStodFormControlName" [formControlName]="providedSprakStodFormControlName"
[afRadiobuttonGroupDirection]="radiobuttonGroupDirection.HORIZONTAL" [afRadiobuttonGroupDirection]="radiobuttonGroupDirection.HORIZONTAL"
></digi-ng-form-radiobutton-group> ></digi-ng-form-radiobutton-group>
<digi-form-validation-message <digi-form-validation-message
af-variation="error" af-variation="error"
*ngIf="providedSprakStodFormControl.invalid && providedSprakStodFormControl.touched"> *ngIf="providedSprakStodFormControl.invalid && providedSprakStodFormControl.touched">
Svar på frågorna är obligatoriskt Svar på frågorna är obligatoriskt
@@ -45,7 +43,7 @@
<div class="periodisk-redovisning__step-buttons-wrapper"> <div class="periodisk-redovisning__step-buttons-wrapper">
<ng-container *ngIf="currentStep > 1"> <ng-container *ngIf="currentStep > 1">
<digi-button class="periodisk-redovisning__step-buttons-wrapper--space-right" <digi-button class="periodisk-redovisning__step-buttons-wrapper--space-right"
af-variation="secondary" af-size="m" (afOnClick)="previousStep()"> af-variation="secondary" af-size="m" (afOnClick)="previousStep()">
Tillbaka Tillbaka
</digi-button> </digi-button>
@@ -69,4 +67,4 @@
</div> </div>
</form> </form>
</msfa-report-layout> </msfa-report-layout>
</msfa-layout> </msfa-layout>

View File

@@ -1,6 +1,7 @@
import { RadiobuttonGroupDirection } from '@af/digi-ng/_form/form-radiobutton-group'; import { RadiobuttonGroupDirection } from '@af/digi-ng/_form/form-radiobutton-group';
import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core'; import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';
import { AbstractControl, FormControl, FormGroup, Validators } from '@angular/forms'; import { AbstractControl, FormControl, FormGroup } from '@angular/forms';
import { RequiredValidator } from '@msfa-validators/required.validator';
@Component({ @Component({
selector: 'msfa-periodisk-redovisning', selector: 'msfa-periodisk-redovisning',
@@ -9,9 +10,8 @@ import { AbstractControl, FormControl, FormGroup, Validators } from '@angular/fo
changeDetection: ChangeDetectionStrategy.OnPush, changeDetection: ChangeDetectionStrategy.OnPush,
}) })
export class PeriodiskRedovisningComponent implements OnInit { export class PeriodiskRedovisningComponent implements OnInit {
radiobuttonGroupDirection = RadiobuttonGroupDirection; radiobuttonGroupDirection = RadiobuttonGroupDirection;
totalAmountOfSteps =3; totalAmountOfSteps = 3;
currentStep = 1; currentStep = 1;
// Form-related variables // Form-related variables
@@ -20,8 +20,6 @@ export class PeriodiskRedovisningComponent implements OnInit {
readonly lamnatJobbForslagFormControlName = 'lamnatJobbForslag'; readonly lamnatJobbForslagFormControlName = 'lamnatJobbForslag';
readonly providedSprakStodFormControlName = 'providedSprakStod'; readonly providedSprakStodFormControlName = 'providedSprakStod';
constructor() { }
ngOnInit(): void { ngOnInit(): void {
this.initializePeriodiskRedovisningFormGroup(); this.initializePeriodiskRedovisningFormGroup();
} }
@@ -33,15 +31,15 @@ export class PeriodiskRedovisningComponent implements OnInit {
return this.periodiskRedovisningFormGroup.get(this.providedSprakStodFormControlName); return this.periodiskRedovisningFormGroup.get(this.providedSprakStodFormControlName);
} }
initializePeriodiskRedovisningFormGroup():void { initializePeriodiskRedovisningFormGroup(): void {
this.periodiskRedovisningFormGroup = new FormGroup({ this.periodiskRedovisningFormGroup = new FormGroup({
lamnatJobbForslag: new FormControl(null, [Validators.required]), lamnatJobbForslag: new FormControl(null, [RequiredValidator()]),
providedSprakStod: new FormControl(null, [Validators.required]), providedSprakStod: new FormControl(null, [RequiredValidator()]),
}); });
} }
nextStep():void { nextStep(): void {
if(this.periodiskRedovisningFormGroup?.valid && this.currentStep < this.totalAmountOfSteps) { if (this.periodiskRedovisningFormGroup?.valid && this.currentStep < this.totalAmountOfSteps) {
console.log('this.prFormGroup', this.periodiskRedovisningFormGroup); console.log('this.prFormGroup', this.periodiskRedovisningFormGroup);
this.currentStep++; this.currentStep++;
} }
@@ -49,14 +47,13 @@ export class PeriodiskRedovisningComponent implements OnInit {
this.periodiskRedovisningFormGroup?.markAllAsTouched(); this.periodiskRedovisningFormGroup?.markAllAsTouched();
} }
previousStep():void { previousStep(): void {
if(this.currentStep > 1) { if (this.currentStep > 1) {
this.currentStep--; this.currentStep--;
} }
} }
sendRequest(val: boolean):boolean { sendRequest(val: boolean): boolean {
return val; return val;
} }
} }

View File

@@ -1,23 +1,17 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { FormGroup } from '@angular/forms'; import { FormGroup } from '@angular/forms';
import { Deltagare } from '@msfa-models/deltagare.model';
import { BehaviorSubject } from 'rxjs';
@Injectable({ @Injectable({
providedIn: 'root' providedIn: 'root',
}) })
export class PeriodiskRedovisningFormService { export class PeriodiskRedovisningFormService {
private periodiskRedovisningFormGroup: FormGroup; private periodiskRedovisningFormGroup: FormGroup;
_deltagare$ = new BehaviorSubject<Deltagare>(null);
constructor() { } setPeriodiskRedovisningForm(form: FormGroup): void {
setPeriodiskRedovisningForm(form: FormGroup):void {
this.periodiskRedovisningFormGroup = form; this.periodiskRedovisningFormGroup = form;
} }
get periodiskRedovisningForm():FormGroup { get periodiskRedovisningForm(): FormGroup {
return this.periodiskRedovisningFormGroup return this.periodiskRedovisningFormGroup;
} }
} }

View File

@@ -20,19 +20,19 @@ export class DeltagareCardService {
return this.deltagareApiService.fetchContactInformation$(deltagareId); return this.deltagareApiService.fetchContactInformation$(deltagareId);
} }
public fetchAvropInformation$(deltagareId: string): Observable<Avrop> { public fetchAvropInformation$(deltagareId: string): Observable<Avrop> {
return this.deltagareApiService.fetchAvropInformation$(deltagareId) as Observable<Avrop>; return this.deltagareApiService.fetchAvropInformation$(deltagareId);
} }
public fetchWorkExperiences$(deltagareId: string): Observable<WorkExperience[]> { public fetchWorkExperiences$(deltagareId: string): Observable<WorkExperience[]> {
return this.deltagareApiService.fetchWorkExperiences$(deltagareId); return this.deltagareApiService.fetchWorkExperiences$(deltagareId);
} }
public fetchHighestEducation$(deltagareId: string): Observable<HighestEducation> { public fetchHighestEducation$(deltagareId: string): Observable<HighestEducation> {
return this.deltagareApiService.fetchHighestEducation$(deltagareId) as Observable<HighestEducation>; return this.deltagareApiService.fetchHighestEducation$(deltagareId);
} }
public fetchEducations$(deltagareId: string): Observable<Education[]> { public fetchEducations$(deltagareId: string): Observable<Education[]> {
return this.deltagareApiService.fetchEducations$(deltagareId); return this.deltagareApiService.fetchEducations$(deltagareId);
} }
public fetchDriversLicense$(deltagareId: string): Observable<DriversLicense> { public fetchDriversLicense$(deltagareId: string): Observable<DriversLicense> {
return this.deltagareApiService.fetchDriversLicense$(deltagareId) as Observable<DriversLicense>; return this.deltagareApiService.fetchDriversLicense$(deltagareId);
} }
public fetchWorkLanguages$(deltagareId: string): Observable<string[]> { public fetchWorkLanguages$(deltagareId: string): Observable<string[]> {
return this.deltagareApiService.fetchWorkLanguages$(deltagareId); return this.deltagareApiService.fetchWorkLanguages$(deltagareId);