Chore: Updated resolvers from Class to ResolveFn

This commit is contained in:
2024-05-31 09:58:48 +05:30
parent 6f433ef203
commit 6e3c429db3
255 changed files with 1737 additions and 2155 deletions
@@ -1,18 +0,0 @@
import { HttpClientModule } from '@angular/common/http';
import { inject, TestBed } from '@angular/core/testing';
import { RouterTestingModule } from '@angular/router/testing';
import { UserListResolver } from './user-list-resolver.service';
describe('UserListResolver', () => {
beforeEach(() => {
TestBed.configureTestingModule({
imports: [HttpClientModule, RouterTestingModule],
providers: [UserListResolver],
});
});
it('should be created', inject([UserListResolver], (service: UserListResolver) => {
expect(service).toBeTruthy();
}));
});
@@ -1,17 +0,0 @@
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs/internal/Observable';
import { User } from '../core/user';
import { UserService } from './user.service';
@Injectable({
providedIn: 'root',
})
export class UserListResolver {
constructor(private ser: UserService) {}
resolve(): Observable<User[]> {
return this.ser.list();
}
}
@@ -0,0 +1,19 @@
import { TestBed } from '@angular/core/testing';
import { ResolveFn } from '@angular/router';
import { User } from '../core/user';
import { userListResolver } from './user-list.resolver';
describe('userListResolver', () => {
const executeResolver: ResolveFn<User[]> = (...resolverParameters) =>
TestBed.runInInjectionContext(() => userListResolver(...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 { User } from '../core/user';
import { UserService } from './user.service';
export const userListResolver: ResolveFn<User[]> = () => {
return inject(UserService).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 { UserResolver } from './user-resolver.service';
describe('UserResolver', () => {
beforeEach(() => {
TestBed.configureTestingModule({
imports: [HttpClientModule, RouterTestingModule],
providers: [UserResolver],
});
});
it('should be created', inject([UserResolver], (service: UserResolver) => {
expect(service).toBeTruthy();
}));
});
@@ -1,19 +0,0 @@
import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot } from '@angular/router';
import { Observable } from 'rxjs/internal/Observable';
import { User } from '../core/user';
import { UserService } from './user.service';
@Injectable({
providedIn: 'root',
})
export class UserResolver {
constructor(private ser: UserService) {}
resolve(route: ActivatedRouteSnapshot): Observable<User> {
const id = route.paramMap.get('id');
return this.ser.get(id);
}
}
+5 -6
View File
@@ -6,8 +6,8 @@ import { AuthGuard } from '../auth/auth-guard.service';
import { UserDetailComponent } from './user-detail/user-detail.component';
import { UserListComponent } from './user-list/user-list.component';
import { UserListResolver } from './user-list-resolver.service';
import { UserResolver } from './user-resolver.service';
import { userListResolver } from './user-list.resolver';
import { userResolver } from './user.resolver';
const userRoutes: Routes = [
{
@@ -20,7 +20,7 @@ const userRoutes: Routes = [
permission: 'Users',
},
resolve: {
list: () => inject(UserListResolver).resolve(),
list: userListResolver,
},
},
{
@@ -33,7 +33,7 @@ const userRoutes: Routes = [
permission: 'Users',
},
resolve: {
item: (route: ActivatedRouteSnapshot) => inject(UserResolver).resolve(route),
item: userResolver,
},
},
{
@@ -43,7 +43,7 @@ const userRoutes: Routes = [
(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => inject(AuthGuard).canActivate(route, state),
],
resolve: {
item: (route: ActivatedRouteSnapshot) => inject(UserResolver).resolve(route),
item: userResolver,
},
},
];
@@ -51,6 +51,5 @@ const userRoutes: Routes = [
@NgModule({
imports: [CommonModule, RouterModule.forChild(userRoutes)],
exports: [RouterModule],
providers: [UserListResolver, UserResolver],
})
export class UserRoutingModule {}
@@ -0,0 +1,19 @@
import { TestBed } from '@angular/core/testing';
import { ResolveFn } from '@angular/router';
import { User } from '../core/user';
import { userResolver } from './user.resolver';
describe('userResolver', () => {
const executeResolver: ResolveFn<User> = (...resolverParameters) =>
TestBed.runInInjectionContext(() => userResolver(...resolverParameters));
beforeEach(() => {
TestBed.configureTestingModule({});
});
it('should be created', () => {
expect(executeResolver).toBeTruthy();
});
});
+11
View File
@@ -0,0 +1,11 @@
import { inject } from '@angular/core';
import { ResolveFn } from '@angular/router';
import { User } from '../core/user';
import { UserService } from './user.service';
export const userResolver: ResolveFn<User> = (route) => {
const id = route.paramMap.get('id');
return inject(UserService).get(id);
};