Chore: Updated resolvers from Class to ResolveFn
This commit is contained in:
@@ -1,17 +0,0 @@
|
||||
import { HttpClientModule } from '@angular/common/http';
|
||||
import { inject, TestBed } from '@angular/core/testing';
|
||||
|
||||
import { PeriodListResolver } from './period-list-resolver.service';
|
||||
|
||||
describe('PeriodListResolver', () => {
|
||||
beforeEach(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [HttpClientModule],
|
||||
providers: [PeriodListResolver],
|
||||
});
|
||||
});
|
||||
|
||||
it('should be created', inject([PeriodListResolver], (service: PeriodListResolver) => {
|
||||
expect(service).toBeTruthy();
|
||||
}));
|
||||
});
|
||||
@@ -1,16 +0,0 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Observable } from 'rxjs/internal/Observable';
|
||||
|
||||
import { Period } from './period';
|
||||
import { PeriodService } from './period.service';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root',
|
||||
})
|
||||
export class PeriodListResolver {
|
||||
constructor(private ser: PeriodService) {}
|
||||
|
||||
resolve(): Observable<Period[]> {
|
||||
return this.ser.list();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
import { TestBed } from '@angular/core/testing';
|
||||
import { ResolveFn } from '@angular/router';
|
||||
|
||||
import { Period } from './period';
|
||||
import { periodListResolver } from './period-list.resolver';
|
||||
|
||||
describe('periodListResolver', () => {
|
||||
const executeResolver: ResolveFn<Period[]> = (...resolverParameters) =>
|
||||
TestBed.runInInjectionContext(() => periodListResolver(...resolverParameters));
|
||||
|
||||
beforeEach(() => {
|
||||
TestBed.configureTestingModule({});
|
||||
});
|
||||
|
||||
it('should be created', () => {
|
||||
expect(executeResolver).toBeTruthy();
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,9 @@
|
||||
import { inject } from '@angular/core';
|
||||
import { ResolveFn } from '@angular/router';
|
||||
|
||||
import { Period } from './period';
|
||||
import { PeriodService } from './period.service';
|
||||
|
||||
export const periodListResolver: ResolveFn<Period[]> = () => {
|
||||
return inject(PeriodService).list();
|
||||
};
|
||||
@@ -1,18 +0,0 @@
|
||||
import { HttpClientModule } from '@angular/common/http';
|
||||
import { inject, TestBed } from '@angular/core/testing';
|
||||
import { RouterTestingModule } from '@angular/router/testing';
|
||||
|
||||
import { PeriodResolver } from './period-resolver.service';
|
||||
|
||||
describe('PeriodResolver', () => {
|
||||
beforeEach(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [HttpClientModule, RouterTestingModule],
|
||||
providers: [PeriodResolver],
|
||||
});
|
||||
});
|
||||
|
||||
it('should be created', inject([PeriodResolver], (service: PeriodResolver) => {
|
||||
expect(service).toBeTruthy();
|
||||
}));
|
||||
});
|
||||
@@ -1,18 +0,0 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { ActivatedRouteSnapshot } from '@angular/router';
|
||||
import { Observable } from 'rxjs/internal/Observable';
|
||||
|
||||
import { Period } from './period';
|
||||
import { PeriodService } from './period.service';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root',
|
||||
})
|
||||
export class PeriodResolver {
|
||||
constructor(private ser: PeriodService) {}
|
||||
|
||||
resolve(route: ActivatedRouteSnapshot): Observable<Period> {
|
||||
const id = route.paramMap.get('id');
|
||||
return this.ser.get(id);
|
||||
}
|
||||
}
|
||||
@@ -3,12 +3,12 @@ import { NgModule, inject } from '@angular/core';
|
||||
import { ActivatedRouteSnapshot, RouterModule, RouterStateSnapshot, Routes } from '@angular/router';
|
||||
|
||||
import { AuthGuard } from '../auth/auth-guard.service';
|
||||
import { CostCentreListResolver } from '../cost-centre/cost-centre-list-resolver.service';
|
||||
import { costCentreListResolver } from '../cost-centre/cost-centre-list.resolver';
|
||||
|
||||
import { PeriodDetailComponent } from './period-detail/period-detail.component';
|
||||
import { PeriodListComponent } from './period-list/period-list.component';
|
||||
import { PeriodListResolver } from './period-list-resolver.service';
|
||||
import { PeriodResolver } from './period-resolver.service';
|
||||
import { periodListResolver } from './period-list.resolver';
|
||||
import { periodResolver } from './period.resolver';
|
||||
|
||||
const periodRoutes: Routes = [
|
||||
{
|
||||
@@ -21,7 +21,7 @@ const periodRoutes: Routes = [
|
||||
permission: 'Recipes',
|
||||
},
|
||||
resolve: {
|
||||
list: () => inject(PeriodListResolver).resolve(),
|
||||
list: periodListResolver,
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -34,8 +34,8 @@ const periodRoutes: Routes = [
|
||||
permission: 'Recipes',
|
||||
},
|
||||
resolve: {
|
||||
item: (route: ActivatedRouteSnapshot) => inject(PeriodResolver).resolve(route),
|
||||
costCentres: () => inject(CostCentreListResolver).resolve(),
|
||||
item: periodResolver,
|
||||
costCentres: costCentreListResolver,
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -48,8 +48,8 @@ const periodRoutes: Routes = [
|
||||
permission: 'Recipes',
|
||||
},
|
||||
resolve: {
|
||||
item: (route: ActivatedRouteSnapshot) => inject(PeriodResolver).resolve(route),
|
||||
costCentres: () => inject(CostCentreListResolver).resolve(),
|
||||
item: periodResolver,
|
||||
costCentres: costCentreListResolver,
|
||||
},
|
||||
},
|
||||
];
|
||||
@@ -57,6 +57,5 @@ const periodRoutes: Routes = [
|
||||
@NgModule({
|
||||
imports: [CommonModule, RouterModule.forChild(periodRoutes)],
|
||||
exports: [RouterModule],
|
||||
providers: [PeriodListResolver, PeriodResolver],
|
||||
})
|
||||
export class PeriodRoutingModule {}
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
import { TestBed } from '@angular/core/testing';
|
||||
import { ResolveFn } from '@angular/router';
|
||||
|
||||
import { Period } from './period';
|
||||
import { periodResolver } from './period.resolver';
|
||||
|
||||
describe('periodResolver', () => {
|
||||
const executeResolver: ResolveFn<Period> = (...resolverParameters) =>
|
||||
TestBed.runInInjectionContext(() => periodResolver(...resolverParameters));
|
||||
|
||||
beforeEach(() => {
|
||||
TestBed.configureTestingModule({});
|
||||
});
|
||||
|
||||
it('should be created', () => {
|
||||
expect(executeResolver).toBeTruthy();
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,10 @@
|
||||
import { inject } from '@angular/core';
|
||||
import { ResolveFn } from '@angular/router';
|
||||
|
||||
import { Period } from './period';
|
||||
import { PeriodService } from './period.service';
|
||||
|
||||
export const periodResolver: ResolveFn<Period> = (route) => {
|
||||
const id = route.paramMap.get('id');
|
||||
return inject(PeriodService).get(id);
|
||||
};
|
||||
Reference in New Issue
Block a user