diff --git a/src/app/routes/home/home.component.spec.ts b/src/app/routes/home/home.component.spec.ts index 9804a9b..461fa67 100644 --- a/src/app/routes/home/home.component.spec.ts +++ b/src/app/routes/home/home.component.spec.ts @@ -4,38 +4,25 @@ import { HomeComponent } from './home.component'; import { provideRouter } from '@angular/router'; import { ProfileRepository } from '@app/domain/profiles/profile.repository'; import { SectorRepository } from '@app/domain/sectors/sector.repository'; -import { of } from 'rxjs'; -import { Profile } from '@app/domain/profiles/profile.model'; import { PROFILE_REPOSITORY_TOKEN } from '@app/infrastructure/profiles/profile-repository.token'; import { SECTOR_REPOSITORY_TOKEN } from '@app/infrastructure/sectors/sector-repository.token'; -import { Sector } from '@app/domain/sectors/sector.model'; +import { mockSectorRepo } from '@app/testing/sector.mock'; +import { mockProfileRepo } from '@app/testing/profile.mock'; describe('HomeComponent', () => { let component: HomeComponent; let fixture: ComponentFixture; - let mockProfileRepo: jest.Mocked>; - let mockSectorRepo: jest.Mocked>; + let mockProfileRepository: jest.Mocked> = mockProfileRepo; + let mockSectorRepository: jest.Mocked> = mockSectorRepo; beforeEach(async () => { - mockProfileRepo = { - create: jest.fn().mockReturnValue(of({} as Profile)), - list: jest.fn().mockReturnValue(of([])), - getById: jest.fn().mockReturnValue(of({} as Profile)), - update: jest.fn().mockReturnValue(of({} as Profile)), - }; - - mockSectorRepo = { - list: jest.fn().mockReturnValue(of([])), - getOne: jest.fn().mockReturnValue(of({} as Sector)), - }; - await TestBed.configureTestingModule({ imports: [HomeComponent], providers: [ provideRouter([]), - { provide: PROFILE_REPOSITORY_TOKEN, useValue: mockProfileRepo }, - { provide: SECTOR_REPOSITORY_TOKEN, useValue: mockSectorRepo }, + { provide: PROFILE_REPOSITORY_TOKEN, useValue: mockProfileRepository }, + { provide: SECTOR_REPOSITORY_TOKEN, useValue: mockSectorRepository }, ], }).compileComponents(); diff --git a/src/app/routes/my-profile/my-profile.component.spec.ts b/src/app/routes/my-profile/my-profile.component.spec.ts index 9834fcb..36d83c0 100644 --- a/src/app/routes/my-profile/my-profile.component.spec.ts +++ b/src/app/routes/my-profile/my-profile.component.spec.ts @@ -4,62 +4,33 @@ import { MyProfileComponent } from './my-profile.component'; import { provideRouter } from '@angular/router'; import { ProfileRepository } from '@app/domain/profiles/profile.repository'; import { PROFILE_REPOSITORY_TOKEN } from '@app/infrastructure/profiles/profile-repository.token'; -import { of } from 'rxjs'; -import { Profile } from '@app/domain/profiles/profile.model'; import { ToastrService } from 'ngx-toastr'; import { USER_REPOSITORY_TOKEN } from '@app/infrastructure/users/user-repository.token'; import { UserRepository } from '@app/domain/users/user.repository'; import { AuthRepository } from '@app/domain/authentification/auth.repository'; import { AUTH_REPOSITORY_TOKEN } from '@app/infrastructure/authentification/auth-repository.token'; +import { mockProfileRepo } from '@app/testing/profile.mock'; +import { mockToastR } from '@app/testing/toastr.mock'; +import { mockUserRepo } from '@app/testing/user.mock'; +import { mockAuthRepo } from '@app/testing/auth.mock'; describe('MyProfileComponent', () => { let component: MyProfileComponent; let fixture: ComponentFixture; - let mockProfileRepo: ProfileRepository; - let mockToastrService: Partial; - let mockUserRepo: Partial; - let mockAuthRepository: jest.Mocked>; + let mockProfileRepository: jest.Mocked> = mockProfileRepo; + let mockToastrService: jest.Mocked> = mockToastR; + let mockUserRepository: jest.Mocked> = mockUserRepo; + let mockAuthRepository: jest.Mocked> = mockAuthRepo; beforeEach(async () => { - mockProfileRepo = { - create: jest.fn(), - list: jest.fn(), - update: jest.fn(), - getById: jest.fn().mockReturnValue(of({} as Profile)), - }; - - mockUserRepo = { - update: jest.fn(), - getUserById: jest.fn(), - }; - - mockToastrService = { - warning: jest.fn(), - success: jest.fn(), - info: jest.fn(), - error: jest.fn(), - }; - - mockAuthRepository = { - get: jest.fn(), - login: jest.fn(), - sendVerificationEmail: jest.fn(), - logout: jest.fn(), - isAuthenticated: jest.fn(), - isEmailVerified: jest.fn(), - register: jest.fn(), - sendRequestPasswordReset: jest.fn(), - confirmPasswordReset: jest.fn(), - }; - await TestBed.configureTestingModule({ imports: [MyProfileComponent], providers: [ provideRouter([]), - { provide: PROFILE_REPOSITORY_TOKEN, useValue: mockProfileRepo }, + { provide: PROFILE_REPOSITORY_TOKEN, useValue: mockProfileRepository }, { provide: AUTH_REPOSITORY_TOKEN, useValue: mockAuthRepository }, - { provide: USER_REPOSITORY_TOKEN, useValue: mockUserRepo }, + { provide: USER_REPOSITORY_TOKEN, useValue: mockUserRepository }, { provide: ToastrService, useValue: mockToastrService }, ], }).compileComponents(); diff --git a/src/app/routes/profile/profile-detail/profile-detail.component.spec.ts b/src/app/routes/profile/profile-detail/profile-detail.component.spec.ts index f012de4..da4aa8c 100644 --- a/src/app/routes/profile/profile-detail/profile-detail.component.spec.ts +++ b/src/app/routes/profile/profile-detail/profile-detail.component.spec.ts @@ -4,68 +4,38 @@ import { ProfileDetailComponent } from './profile-detail.component'; import { provideRouter } from '@angular/router'; import { PROJECT_REPOSITORY_TOKEN } from '@app/infrastructure/projects/project-repository.token'; import { ProjectRepository } from '@app/domain/projects/project.repository'; -import { of } from 'rxjs'; -import { Project } from '@app/domain/projects/project.model'; -import { Sector } from '@app/domain/sectors/sector.model'; import { SectorRepository } from '@app/domain/sectors/sector.repository'; import { SECTOR_REPOSITORY_TOKEN } from '@app/infrastructure/sectors/sector-repository.token'; import { ToastrService } from 'ngx-toastr'; import { PROFILE_REPOSITORY_TOKEN } from '@app/infrastructure/profiles/profile-repository.token'; -import { Profile } from '@app/domain/profiles/profile.model'; import { ProfileRepository } from '@app/domain/profiles/profile.repository'; import { USER_REPOSITORY_TOKEN } from '@app/infrastructure/users/user-repository.token'; import { UserRepository } from '@app/domain/users/user.repository'; -import { User } from '@app/domain/users/user.model'; +import { mockProfileRepo } from '@app/testing/profile.mock'; +import { mockSectorRepo } from '@app/testing/sector.mock'; +import { mockToastR } from '@app/testing/toastr.mock'; +import { mockUserRepo } from '@app/testing/user.mock'; +import { mockProjectRepo } from '@app/testing/project.mock'; describe('ProfileDetailComponent', () => { let component: ProfileDetailComponent; let fixture: ComponentFixture; - let mockProjectRepository: jest.Mocked; - let mockProfileRepository: jest.Mocked>; - let mockSectorRepo: SectorRepository; - let mockToastr: Partial; - let mockUserRepo: jest.Mocked>; + + let mockProjectRepository: jest.Mocked> = mockProjectRepo; + let mockProfileRepository: jest.Mocked> = mockProfileRepo; + let mockSectorRepository: jest.Mocked> = mockSectorRepo; + let mockToastr: jest.Mocked> = mockToastR; + let mockUserRepository: jest.Mocked> = mockUserRepo; beforeEach(async () => { - mockProjectRepository = { - create: jest.fn().mockReturnValue(of({} as Project)), - list: jest.fn().mockReturnValue(of([])), - get: jest.fn().mockReturnValue(of({} as Project)), - update: jest.fn().mockReturnValue(of({} as Project)), - }; - - mockSectorRepo = { - list: jest.fn(), - getOne: jest.fn().mockReturnValue(of({} as Sector)), - }; - - mockToastr = { - warning: jest.fn(), - success: jest.fn(), - info: jest.fn(), - error: jest.fn(), - }; - - mockProfileRepository = { - create: jest.fn().mockReturnValue(of({} as Profile)), - list: jest.fn().mockReturnValue(of([])), - getById: jest.fn().mockReturnValue(of({} as Profile)), - update: jest.fn().mockReturnValue(of({} as Profile)), - }; - - mockUserRepo = { - getUserById: jest.fn().mockReturnValue(of({} as User)), - update: jest.fn(), - }; - await TestBed.configureTestingModule({ imports: [ProfileDetailComponent], providers: [ provideRouter([]), { provide: PROJECT_REPOSITORY_TOKEN, useValue: mockProjectRepository }, { provide: PROFILE_REPOSITORY_TOKEN, useValue: mockProfileRepository }, - { provide: SECTOR_REPOSITORY_TOKEN, useValue: mockSectorRepo }, - { provide: USER_REPOSITORY_TOKEN, useValue: mockUserRepo }, + { provide: SECTOR_REPOSITORY_TOKEN, useValue: mockSectorRepository }, + { provide: USER_REPOSITORY_TOKEN, useValue: mockUserRepository }, { provide: ToastrService, useValue: mockToastr }, ], }).compileComponents(); diff --git a/src/app/routes/profile/profile-list/profile-list.component.spec.ts b/src/app/routes/profile/profile-list/profile-list.component.spec.ts index ba44c89..06baafe 100644 --- a/src/app/routes/profile/profile-list/profile-list.component.spec.ts +++ b/src/app/routes/profile/profile-list/profile-list.component.spec.ts @@ -2,33 +2,20 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ProfileListComponent } from './profile-list.component'; import { provideRouter } from '@angular/router'; -import { of } from 'rxjs'; import { ProfileRepository } from '@app/domain/profiles/profile.repository'; import { PROFILE_REPOSITORY_TOKEN } from '@app/infrastructure/profiles/profile-repository.token'; -import { Profile } from '@app/domain/profiles/profile.model'; import { SECTOR_REPOSITORY_TOKEN } from '@app/infrastructure/sectors/sector-repository.token'; import { SectorRepository } from '@app/domain/sectors/sector.repository'; -import { Sector } from '@app/domain/sectors/sector.model'; +import { mockProfileRepo } from '@app/testing/profile.mock'; +import { mockSectorRepo } from '@app/testing/sector.mock'; describe('ProfileListComponent', () => { let component: ProfileListComponent; let fixture: ComponentFixture; - let mockProfileRepository: jest.Mocked>; - let mockSectorRepository: jest.Mocked>; + let mockProfileRepository: jest.Mocked> = mockProfileRepo; + let mockSectorRepository: jest.Mocked> = mockSectorRepo; beforeEach(async () => { - mockProfileRepository = { - create: jest.fn().mockReturnValue(of({} as Profile)), - list: jest.fn().mockReturnValue(of([])), - getById: jest.fn().mockReturnValue(of({} as Profile)), - update: jest.fn().mockReturnValue(of({} as Profile)), - }; - - mockSectorRepository = { - list: jest.fn().mockReturnValue(of([])), - getOne: jest.fn().mockReturnValue(of({} as Sector)), - }; - await TestBed.configureTestingModule({ imports: [ProfileListComponent], providers: [ diff --git a/src/app/shared/components/chips/chips.component.spec.ts b/src/app/shared/components/chips/chips.component.spec.ts index 6e70bcd..1cecd4d 100644 --- a/src/app/shared/components/chips/chips.component.spec.ts +++ b/src/app/shared/components/chips/chips.component.spec.ts @@ -3,27 +3,21 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ChipsComponent } from './chips.component'; import { provideRouter } from '@angular/router'; import { SECTOR_REPOSITORY_TOKEN } from '@app/infrastructure/sectors/sector-repository.token'; -import { of } from 'rxjs'; -import { Sector } from '@app/domain/sectors/sector.model'; import { SectorRepository } from '@app/domain/sectors/sector.repository'; +import { mockSectorRepo } from '@app/testing/sector.mock'; describe('ChipsComponent', () => { let component: ChipsComponent; let fixture: ComponentFixture; - let mockSectorRepo: SectorRepository; + let mockSectorRepository: jest.Mocked> = mockSectorRepo; beforeEach(async () => { - mockSectorRepo = { - list: jest.fn(), - getOne: jest.fn().mockReturnValue(of({} as Sector)), - }; - await TestBed.configureTestingModule({ imports: [ChipsComponent], providers: [ provideRouter([]), - { provide: SECTOR_REPOSITORY_TOKEN, useValue: mockSectorRepo }, + { provide: SECTOR_REPOSITORY_TOKEN, useValue: mockSectorRepository }, ], }).compileComponents(); diff --git a/src/app/shared/components/my-profile-project-item/my-profile-project-item.component.spec.ts b/src/app/shared/components/my-profile-project-item/my-profile-project-item.component.spec.ts index 6c80b5f..4131509 100644 --- a/src/app/shared/components/my-profile-project-item/my-profile-project-item.component.spec.ts +++ b/src/app/shared/components/my-profile-project-item/my-profile-project-item.component.spec.ts @@ -6,21 +6,15 @@ import { Project } from '@app/domain/projects/project.model'; import { ProjectRepository } from '@app/domain/projects/project.repository'; import { provideRouter } from '@angular/router'; import { PROJECT_REPOSITORY_TOKEN } from '@app/infrastructure/projects/project-repository.token'; +import { mockProjectRepo } from '@app/testing/project.mock'; describe('MyProfileProjectItemComponent', () => { let component: MyProfileProjectItemComponent; let fixture: ComponentFixture; - let mockProjectRepository: jest.Mocked; + let mockProjectRepository: jest.Mocked> = mockProjectRepo; beforeEach(async () => { - mockProjectRepository = { - create: jest.fn().mockReturnValue(of({} as Project)), - list: jest.fn().mockReturnValue(of([])), - get: jest.fn().mockReturnValue(of({} as Project)), - update: jest.fn().mockReturnValue(of({} as Project)), - }; - await TestBed.configureTestingModule({ imports: [MyProfileProjectItemComponent], providers: [ diff --git a/src/app/shared/components/my-profile-project-list/my-profile-project-list.component.spec.ts b/src/app/shared/components/my-profile-project-list/my-profile-project-list.component.spec.ts index d332d39..8e80b31 100644 --- a/src/app/shared/components/my-profile-project-list/my-profile-project-list.component.spec.ts +++ b/src/app/shared/components/my-profile-project-list/my-profile-project-list.component.spec.ts @@ -2,24 +2,16 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MyProfileProjectListComponent } from './my-profile-project-list.component'; import { ProjectRepository } from '@app/domain/projects/project.repository'; -import { of } from 'rxjs'; import { provideRouter } from '@angular/router'; import { PROJECT_REPOSITORY_TOKEN } from '@app/infrastructure/projects/project-repository.token'; -import { Project } from '@app/domain/projects/project.model'; +import { mockProfileRepo } from '@app/testing/profile.mock'; describe('MyProfileProjectListComponent', () => { let component: MyProfileProjectListComponent; let fixture: ComponentFixture; - let mockProjectRepository: jest.Mocked; + let mockProjectRepository: jest.Mocked> = mockProfileRepo; beforeEach(async () => { - mockProjectRepository = { - create: jest.fn().mockReturnValue(of({} as Project)), - list: jest.fn().mockReturnValue(of([])), - get: jest.fn().mockReturnValue(of({} as Project)), - update: jest.fn().mockReturnValue(of({} as Project)), - }; - await TestBed.configureTestingModule({ imports: [MyProfileProjectListComponent], providers: [ diff --git a/src/app/shared/components/my-profile-update-cv-form/my-profile-update-cv-form.component.spec.ts b/src/app/shared/components/my-profile-update-cv-form/my-profile-update-cv-form.component.spec.ts index aef5c37..382eded 100644 --- a/src/app/shared/components/my-profile-update-cv-form/my-profile-update-cv-form.component.spec.ts +++ b/src/app/shared/components/my-profile-update-cv-form/my-profile-update-cv-form.component.spec.ts @@ -3,37 +3,24 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MyProfileUpdateCvFormComponent } from './my-profile-update-cv-form.component'; import { ToastrService } from 'ngx-toastr'; import { provideRouter } from '@angular/router'; -import { ProfileRepository } from '@app/domain/profiles/profile.repository'; -import { of } from 'rxjs'; -import { Profile } from '@app/domain/profiles/profile.model'; import { PROFILE_REPOSITORY_TOKEN } from '@app/infrastructure/profiles/profile-repository.token'; +import { ProjectRepository } from '@app/domain/projects/project.repository'; +import { mockProfileRepo } from '@app/testing/profile.mock'; +import { mockToastR } from '@app/testing/toastr.mock'; describe('MyProfileUpdateCvFormComponent', () => { let component: MyProfileUpdateCvFormComponent; let fixture: ComponentFixture; - let mockToastrService: Partial; - let mockProfileRepo: ProfileRepository; + let mockToastrService: jest.Mocked> = mockToastR; + let mockProjectRepository: jest.Mocked> = mockProfileRepo; beforeEach(async () => { - mockToastrService = { - success: jest.fn(), - error: jest.fn(), - warning: jest.fn(), - }; - - mockProfileRepo = { - create: jest.fn(), - list: jest.fn(), - update: jest.fn().mockReturnValue(of({} as Profile)), - getById: jest.fn().mockReturnValue(of({} as Profile)), - }; - await TestBed.configureTestingModule({ imports: [MyProfileUpdateCvFormComponent], providers: [ provideRouter([]), - { provide: PROFILE_REPOSITORY_TOKEN, useValue: mockProfileRepo }, + { provide: PROFILE_REPOSITORY_TOKEN, useValue: mockProjectRepository }, { provide: ToastrService, useValue: mockToastrService }, ], }).compileComponents(); diff --git a/src/app/shared/components/my-profile-update-form/my-profile-update-form.component.spec.ts b/src/app/shared/components/my-profile-update-form/my-profile-update-form.component.spec.ts index e6d13fc..f4d9ea8 100644 --- a/src/app/shared/components/my-profile-update-form/my-profile-update-form.component.spec.ts +++ b/src/app/shared/components/my-profile-update-form/my-profile-update-form.component.spec.ts @@ -11,14 +11,18 @@ import { Profile } from '@app/domain/profiles/profile.model'; import { SectorRepository } from '@app/domain/sectors/sector.repository'; import { Sector } from '@app/domain/sectors/sector.model'; import { SECTOR_REPOSITORY_TOKEN } from '@app/infrastructure/sectors/sector-repository.token'; +import { mockToastR } from '@app/testing/toastr.mock'; +import { ProjectRepository } from '@app/domain/projects/project.repository'; +import { mockProfileRepo } from '@app/testing/profile.mock'; +import { mockSectorRepo } from '@app/testing/sector.mock'; describe('MyProfileUpdateFormComponent', () => { let component: MyProfileUpdateFormComponent; let fixture: ComponentFixture; - let mockToastrService: Partial; - let mockProfileRepo: ProfileRepository; - let mockSectorRepo: SectorRepository; + let mockToastrService: jest.Mocked> = mockToastR; + let mockProfileRepository: jest.Mocked> = mockProfileRepo; + let mockSectorRepository: jest.Mocked> = mockSectorRepo; const mockProfileData = { profession: '', @@ -29,32 +33,14 @@ describe('MyProfileUpdateFormComponent', () => { }; beforeEach(async () => { - mockToastrService = { - warning: jest.fn(), - success: jest.fn(), - error: jest.fn(), - }; - - mockProfileRepo = { - create: jest.fn(), - list: jest.fn(), - update: jest.fn().mockReturnValue(of({} as Profile)), - getById: jest.fn().mockReturnValue(of({} as Profile)), - }; - - mockSectorRepo = { - list: jest.fn().mockReturnValue(of([])), - getOne: jest.fn().mockReturnValue(of({} as Sector)), - }; - await TestBed.configureTestingModule({ imports: [MyProfileUpdateFormComponent], providers: [ FormBuilder, provideRouter([]), { provide: ToastrService, useValue: mockToastrService }, - { provide: PROFILE_REPOSITORY_TOKEN, useValue: mockProfileRepo }, - { provide: SECTOR_REPOSITORY_TOKEN, useValue: mockSectorRepo }, + { provide: PROFILE_REPOSITORY_TOKEN, useValue: mockProfileRepository }, + { provide: SECTOR_REPOSITORY_TOKEN, useValue: mockSectorRepository }, ], }).compileComponents(); diff --git a/src/app/shared/components/my-profile-update-project-form/my-profile-update-project-form.component.spec.ts b/src/app/shared/components/my-profile-update-project-form/my-profile-update-project-form.component.spec.ts index f63b5e4..e3205b1 100644 --- a/src/app/shared/components/my-profile-update-project-form/my-profile-update-project-form.component.spec.ts +++ b/src/app/shared/components/my-profile-update-project-form/my-profile-update-project-form.component.spec.ts @@ -11,49 +11,22 @@ import { AUTH_REPOSITORY_TOKEN } from '@app/infrastructure/authentification/auth import { PROFILE_REPOSITORY_TOKEN } from '@app/infrastructure/profiles/profile-repository.token'; import { AuthRepository } from '@app/domain/authentification/auth.repository'; import { ProfileRepository } from '@app/domain/profiles/profile.repository'; +import { mockAuthRepo } from '@app/testing/auth.mock'; +import { mockProfileRepo } from '@app/testing/profile.mock'; +import { mockProjectRepo } from '@app/testing/project.mock'; +import { mockToastR } from '@app/testing/toastr.mock'; describe('MyProfileUpdateProjectFormComponent', () => { let component: MyProfileUpdateProjectFormComponent; let fixture: ComponentFixture; - let mockToastrService: jest.Mocked>; - let mockProjectRepository: jest.Mocked>; + let mockToastrService: jest.Mocked> = mockToastR; + let mockProjectRepository: jest.Mocked> = mockProjectRepo; - let mockAuthRepository: jest.Mocked>; - let mockProfileRepo: jest.Mocked>; + let mockAuthRepository: jest.Mocked> = mockAuthRepo; + let mockProfileRepository: jest.Mocked> = mockProfileRepo; beforeEach(async () => { - mockToastrService = { - success: jest.fn(), - error: jest.fn(), - warning: jest.fn(), - }; - - mockProjectRepository = { - create: jest.fn().mockReturnValue(of({} as Project)), - list: jest.fn().mockReturnValue(of([])), - get: jest.fn().mockReturnValue(of({} as Project)), - update: jest.fn().mockReturnValue(of({} as Project)), - }; - mockAuthRepository = { - get: jest.fn(), - login: jest.fn(), - sendVerificationEmail: jest.fn(), - logout: jest.fn(), - isAuthenticated: jest.fn(), - isEmailVerified: jest.fn(), - register: jest.fn(), - sendRequestPasswordReset: jest.fn(), - confirmPasswordReset: jest.fn(), - }; - - mockProfileRepo = { - create: jest.fn(), - list: jest.fn(), - update: jest.fn(), - getById: jest.fn(), - }; - await TestBed.configureTestingModule({ imports: [MyProfileUpdateProjectFormComponent], providers: [ @@ -61,7 +34,7 @@ describe('MyProfileUpdateProjectFormComponent', () => { { provide: ToastrService, useValue: mockToastrService }, { provide: PROJECT_REPOSITORY_TOKEN, useValue: mockProjectRepository }, { provide: AUTH_REPOSITORY_TOKEN, useValue: mockAuthRepository }, - { provide: PROFILE_REPOSITORY_TOKEN, useValue: mockProfileRepo }, + { provide: PROFILE_REPOSITORY_TOKEN, useValue: mockProfileRepository }, ], }).compileComponents(); diff --git a/src/app/shared/components/nav-bar/nav-bar.component.spec.ts b/src/app/shared/components/nav-bar/nav-bar.component.spec.ts index 377fb9c..2d01f23 100644 --- a/src/app/shared/components/nav-bar/nav-bar.component.spec.ts +++ b/src/app/shared/components/nav-bar/nav-bar.component.spec.ts @@ -3,20 +3,22 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { NavBarComponent } from './nav-bar.component'; import { ThemeService } from '@app/core/services/theme/theme.service'; import { provideRouter } from '@angular/router'; -import { signal } from '@angular/core'; import { User } from '@app/domain/users/user.model'; import { AUTH_REPOSITORY_TOKEN } from '@app/infrastructure/authentification/auth-repository.token'; import { AuthRepository } from '@app/domain/authentification/auth.repository'; import { PROFILE_REPOSITORY_TOKEN } from '@app/infrastructure/profiles/profile-repository.token'; import { ProfileRepository } from '@app/domain/profiles/profile.repository'; +import { mockProfileRepo } from '@app/testing/profile.mock'; +import { mockAuthRepo } from '@app/testing/auth.mock'; +import { mockThemeService } from '@app/testing/theme.mock'; describe('NavBarComponent', () => { let component: NavBarComponent; let fixture: ComponentFixture; - let mockThemeService: jest.Mocked>; + let mockTheme: jest.Mocked> = mockThemeService; - let mockAuthRepository: jest.Mocked>; - let mockProfileRepo: jest.Mocked>; + let mockAuthRepository: jest.Mocked> = mockAuthRepo; + let mockProfileRepository: jest.Mocked> = mockProfileRepo; const user: User = { id: 'adbc123', @@ -31,37 +33,13 @@ describe('NavBarComponent', () => { }; beforeEach(async () => { - mockThemeService = { - darkModeSignal: signal('null'), - updateDarkMode: jest.fn(), - }; - - mockAuthRepository = { - get: jest.fn(), - login: jest.fn(), - sendVerificationEmail: jest.fn(), - logout: jest.fn(), - isAuthenticated: jest.fn(), - isEmailVerified: jest.fn(), - register: jest.fn(), - sendRequestPasswordReset: jest.fn(), - confirmPasswordReset: jest.fn(), - }; - - mockProfileRepo = { - create: jest.fn(), - list: jest.fn(), - update: jest.fn(), - getById: jest.fn(), - }; - await TestBed.configureTestingModule({ imports: [NavBarComponent], providers: [ provideRouter([]), - { provide: ThemeService, useValue: mockThemeService }, + { provide: ThemeService, useValue: mockTheme }, { provide: AUTH_REPOSITORY_TOKEN, useValue: mockAuthRepository }, - { provide: PROFILE_REPOSITORY_TOKEN, useValue: mockProfileRepo }, + { provide: PROFILE_REPOSITORY_TOKEN, useValue: mockProfileRepository }, ], }).compileComponents(); diff --git a/src/app/shared/components/project-list/project-list.component.spec.ts b/src/app/shared/components/project-list/project-list.component.spec.ts index 4cad4fa..660b843 100644 --- a/src/app/shared/components/project-list/project-list.component.spec.ts +++ b/src/app/shared/components/project-list/project-list.component.spec.ts @@ -2,25 +2,17 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ProjectListComponent } from './project-list.component'; import { ProjectRepository } from '@app/domain/projects/project.repository'; -import { of } from 'rxjs'; -import { Project } from '@app/domain/projects/project.model'; import { provideRouter } from '@angular/router'; import { PROJECT_REPOSITORY_TOKEN } from '@app/infrastructure/projects/project-repository.token'; +import { mockProjectRepo } from '@app/testing/project.mock'; describe('ProjectListComponent', () => { let component: ProjectListComponent; let fixture: ComponentFixture; - let mockProjectRepository: jest.Mocked; + let mockProjectRepository: jest.Mocked = mockProjectRepo; beforeEach(async () => { - mockProjectRepository = { - create: jest.fn().mockReturnValue(of({} as Project)), - list: jest.fn().mockReturnValue(of([])), - get: jest.fn().mockReturnValue(of({} as Project)), - update: jest.fn().mockReturnValue(of({} as Project)), - }; - await TestBed.configureTestingModule({ imports: [ProjectListComponent], providers: [ diff --git a/src/app/shared/components/project-picture-form/project-picture-form.component.spec.ts b/src/app/shared/components/project-picture-form/project-picture-form.component.spec.ts index e1851fe..940dd32 100644 --- a/src/app/shared/components/project-picture-form/project-picture-form.component.spec.ts +++ b/src/app/shared/components/project-picture-form/project-picture-form.component.spec.ts @@ -4,31 +4,18 @@ import { ProjectPictureFormComponent } from './project-picture-form.component'; import { provideRouter } from '@angular/router'; import { ToastrService } from 'ngx-toastr'; import { PROJECT_REPOSITORY_TOKEN } from '@app/infrastructure/projects/project-repository.token'; -import { of } from 'rxjs'; -import { Project } from '@app/domain/projects/project.model'; import { ProjectRepository } from '@app/domain/projects/project.repository'; +import { mockToastR } from '@app/testing/toastr.mock'; +import { mockProjectRepo } from '@app/testing/project.mock'; describe('ProjectPictureFormComponent', () => { let component: ProjectPictureFormComponent; let fixture: ComponentFixture; - let mockToastrService: Partial; - let mockProjectRepository: jest.Mocked; + let mockToastrService: jest.Mocked> = mockToastR; + let mockProjectRepository: jest.Mocked> = mockProjectRepo; beforeEach(async () => { - mockToastrService = { - success: jest.fn(), - error: jest.fn(), - warning: jest.fn(), - }; - - mockProjectRepository = { - create: jest.fn().mockReturnValue(of({} as Project)), - list: jest.fn().mockReturnValue(of([])), - get: jest.fn().mockReturnValue(of({} as Project)), - update: jest.fn().mockReturnValue(of({} as Project)), - }; - await TestBed.configureTestingModule({ imports: [ProjectPictureFormComponent], providers: [ diff --git a/src/app/shared/components/user-avatar-form/user-avatar-form.component.spec.ts b/src/app/shared/components/user-avatar-form/user-avatar-form.component.spec.ts index 486eb2b..081e1be 100644 --- a/src/app/shared/components/user-avatar-form/user-avatar-form.component.spec.ts +++ b/src/app/shared/components/user-avatar-form/user-avatar-form.component.spec.ts @@ -5,31 +5,22 @@ import { provideRouter } from '@angular/router'; import { ToastrService } from 'ngx-toastr'; import { UserRepository } from '@app/domain/users/user.repository'; import { USER_REPOSITORY_TOKEN } from '@app/infrastructure/users/user-repository.token'; +import { mockToastR } from '@app/testing/toastr.mock'; +import { mockUserRepo } from '@app/testing/user.mock'; describe('UserAvatarFormComponent', () => { let component: UserAvatarFormComponent; let fixture: ComponentFixture; - let mockToastrService: Partial; - let mockUserRepo: UserRepository; + let mockToastrService: jest.Mocked> = mockToastR; + let mockUserRepository: jest.Mocked> = mockUserRepo; beforeEach(async () => { - mockToastrService = { - warning: jest.fn(), - success: jest.fn(), - error: jest.fn(), - }; - - mockUserRepo = { - update: jest.fn(), - getUserById: jest.fn(), - }; - await TestBed.configureTestingModule({ imports: [UserAvatarFormComponent], providers: [ provideRouter([]), - { provide: USER_REPOSITORY_TOKEN, useValue: mockUserRepo }, + { provide: USER_REPOSITORY_TOKEN, useValue: mockUserRepository }, { provide: ToastrService, useValue: mockToastrService }, ], }).compileComponents(); diff --git a/src/app/shared/components/user-form/user-form.component.spec.ts b/src/app/shared/components/user-form/user-form.component.spec.ts index 5f2f3be..2184ae0 100644 --- a/src/app/shared/components/user-form/user-form.component.spec.ts +++ b/src/app/shared/components/user-form/user-form.component.spec.ts @@ -6,32 +6,23 @@ import { provideRouter } from '@angular/router'; import { FormBuilder } from '@angular/forms'; import { USER_REPOSITORY_TOKEN } from '@app/infrastructure/users/user-repository.token'; import { UserRepository } from '@app/domain/users/user.repository'; +import { mockToastR } from '@app/testing/toastr.mock'; +import { mockUserRepo } from '@app/testing/user.mock'; describe('UserFormComponent', () => { let component: UserFormComponent; let fixture: ComponentFixture; - let mockToastrService: Partial; - let mockUserRepo: UserRepository; + let mockToastrService: jest.Mocked> = mockToastR; + let mockUserRepository: jest.Mocked> = mockUserRepo; beforeEach(async () => { - mockToastrService = { - warning: jest.fn(), - success: jest.fn(), - error: jest.fn(), - }; - - mockUserRepo = { - update: jest.fn(), - getUserById: jest.fn(), - }; - await TestBed.configureTestingModule({ imports: [UserFormComponent], providers: [ provideRouter([]), FormBuilder, - { provide: USER_REPOSITORY_TOKEN, useValue: mockUserRepo }, + { provide: USER_REPOSITORY_TOKEN, useValue: mockUserRepository }, { provide: ToastrService, useValue: mockToastrService }, ], }).compileComponents(); diff --git a/src/app/shared/components/user-password-form/user-password-form.component.spec.ts b/src/app/shared/components/user-password-form/user-password-form.component.spec.ts index c597cc1..7c74db4 100644 --- a/src/app/shared/components/user-password-form/user-password-form.component.spec.ts +++ b/src/app/shared/components/user-password-form/user-password-form.component.spec.ts @@ -6,34 +6,23 @@ import { AuthFacade } from '@app/ui/authentification/auth.facade'; import { By } from '@angular/platform-browser'; import { ActionType } from '@app/domain/action-type.util'; import { signal, WritableSignal } from '@angular/core'; +import { mockToastR } from '@app/testing/toastr.mock'; +import { mockAuthenticationFacade } from '@app/testing/ui/authentification/auth.facade.mock'; describe('UserPasswordFormComponent', () => { let component: UserPasswordFormComponent; let fixture: ComponentFixture; - let mockToastrService: Partial; + let mockToastrService: jest.Mocked> = mockToastR; // On mocke la Facade car c'est ce que le composant utilise directement let mockAuthFacade: { sendRequestPasswordReset: jest.Mock; loading: WritableSignal<{ isLoading: boolean; action: ActionType }>; error: WritableSignal<{ hasError: boolean }>; - }; + } = mockAuthenticationFacade; beforeEach(async () => { - mockToastrService = { - warning: jest.fn(), - success: jest.fn(), - info: jest.fn(), - error: jest.fn(), - }; - - mockAuthFacade = { - sendRequestPasswordReset: jest.fn(), - loading: signal({ isLoading: false, action: ActionType.NONE }), - error: signal({ hasError: false }), - }; - await TestBed.configureTestingModule({ imports: [UserPasswordFormComponent], providers: [ diff --git a/src/app/shared/components/vertical-profile-item/vertical-profile-item.component.spec.ts b/src/app/shared/components/vertical-profile-item/vertical-profile-item.component.spec.ts index a6b44fe..39b4817 100644 --- a/src/app/shared/components/vertical-profile-item/vertical-profile-item.component.spec.ts +++ b/src/app/shared/components/vertical-profile-item/vertical-profile-item.component.spec.ts @@ -9,31 +9,23 @@ import { of } from 'rxjs'; import { SECTOR_REPOSITORY_TOKEN } from '@app/infrastructure/sectors/sector-repository.token'; import { SectorRepository } from '@app/domain/sectors/sector.repository'; import { Sector } from '@app/domain/sectors/sector.model'; +import { mockUserRepo } from '@app/testing/user.mock'; +import { mockSectorRepo } from '@app/testing/sector.mock'; describe('VerticalProfileItemComponent', () => { let component: VerticalProfileItemComponent; let fixture: ComponentFixture; - let mockUserRepo: UserRepository; - let mockSectorRepo: SectorRepository; + let mockUserRepository: jest.Mocked> = mockUserRepo; + let mockSectorRepository: jest.Mocked> = mockSectorRepo; beforeEach(async () => { - mockUserRepo = { - update: jest.fn().mockReturnValue(of({} as User)), - getUserById: jest.fn().mockReturnValue(of({} as User)), - }; - - mockSectorRepo = { - list: jest.fn().mockReturnValue(of({} as Sector)), - getOne: jest.fn().mockReturnValue(of({} as Sector)), - }; - await TestBed.configureTestingModule({ imports: [VerticalProfileItemComponent], providers: [ provideRouter([]), - { provide: USER_REPOSITORY_TOKEN, useValue: mockUserRepo }, - { provide: SECTOR_REPOSITORY_TOKEN, useValue: mockSectorRepo }, + { provide: USER_REPOSITORY_TOKEN, useValue: mockUserRepository }, + { provide: SECTOR_REPOSITORY_TOKEN, useValue: mockSectorRepository }, ], }).compileComponents(); diff --git a/src/app/shared/features/filter/filter.component.spec.ts b/src/app/shared/features/filter/filter.component.spec.ts index 9b54010..8a6b913 100644 --- a/src/app/shared/features/filter/filter.component.spec.ts +++ b/src/app/shared/features/filter/filter.component.spec.ts @@ -9,26 +9,16 @@ import { of } from 'rxjs'; import { Profile } from '@app/domain/profiles/profile.model'; import { ProfileRepository } from '@app/domain/profiles/profile.repository'; import { Sector } from '@app/domain/sectors/sector.model'; +import { mockProfileRepo } from '@app/testing/profile.mock'; +import { mockSectorRepo } from '@app/testing/sector.mock'; describe('FilterComponent', () => { let component: FilterComponent; let fixture: ComponentFixture; - let mockProfileRepository: jest.Mocked>; - let mockSectorRepository: jest.Mocked>; + let mockProfileRepository: jest.Mocked> = mockProfileRepo; + let mockSectorRepository: jest.Mocked> = mockSectorRepo; beforeEach(async () => { - mockProfileRepository = { - create: jest.fn().mockReturnValue(of({} as Profile)), - list: jest.fn().mockReturnValue(of([])), - getById: jest.fn().mockReturnValue(of({} as Profile)), - update: jest.fn().mockReturnValue(of({} as Profile)), - }; - - mockSectorRepository = { - list: jest.fn().mockReturnValue(of([])), - getOne: jest.fn().mockReturnValue(of({} as Sector)), - }; - await TestBed.configureTestingModule({ imports: [FilterComponent], providers: [ diff --git a/src/app/shared/features/login/login.component.spec.ts b/src/app/shared/features/login/login.component.spec.ts index 6b563b9..cd2392c 100644 --- a/src/app/shared/features/login/login.component.spec.ts +++ b/src/app/shared/features/login/login.component.spec.ts @@ -8,43 +8,20 @@ import { AuthRepository } from '@app/domain/authentification/auth.repository'; import { AUTH_REPOSITORY_TOKEN } from '@app/infrastructure/authentification/auth-repository.token'; import { ProfileRepository } from '@app/domain/profiles/profile.repository'; import { PROFILE_REPOSITORY_TOKEN } from '@app/infrastructure/profiles/profile-repository.token'; +import { mockAuthRepo } from '@app/testing/auth.mock'; +import { mockProfileRepo } from '@app/testing/profile.mock'; +import { mockToastR } from '@app/testing/toastr.mock'; describe('LoginComponent', () => { let component: LoginComponent; let fixture: ComponentFixture; // Mocks des services - let mockToastrService: Partial; - let mockAuthRepository: jest.Mocked>; - let mockProfileRepo: jest.Mocked>; + let mockToastrService: Partial = mockToastR; + let mockAuthRepository: jest.Mocked> = mockAuthRepo; + let mockProfileRepository: jest.Mocked> = mockProfileRepo; beforeEach(async () => { - mockToastrService = { - warning: jest.fn(), - success: jest.fn(), - info: jest.fn(), - error: jest.fn(), - }; - - mockAuthRepository = { - get: jest.fn(), - login: jest.fn(), - sendVerificationEmail: jest.fn(), - logout: jest.fn(), - isAuthenticated: jest.fn(), - isEmailVerified: jest.fn(), - register: jest.fn(), - sendRequestPasswordReset: jest.fn(), - confirmPasswordReset: jest.fn(), - }; - - mockProfileRepo = { - create: jest.fn(), - list: jest.fn(), - update: jest.fn(), - getById: jest.fn(), - }; - await TestBed.configureTestingModule({ imports: [LoginComponent], providers: [ @@ -52,7 +29,7 @@ describe('LoginComponent', () => { provideRouter([]), { provide: ToastrService, useValue: mockToastrService }, { provide: AUTH_REPOSITORY_TOKEN, useValue: mockAuthRepository }, - { provide: PROFILE_REPOSITORY_TOKEN, useValue: mockProfileRepo }, + { provide: PROFILE_REPOSITORY_TOKEN, useValue: mockProfileRepository }, ], }).compileComponents(); diff --git a/src/app/shared/features/register/register.component.spec.ts b/src/app/shared/features/register/register.component.spec.ts index a954c83..cb8e9e0 100644 --- a/src/app/shared/features/register/register.component.spec.ts +++ b/src/app/shared/features/register/register.component.spec.ts @@ -7,47 +7,25 @@ import { ProfileRepository } from '@app/domain/profiles/profile.repository'; import { PROFILE_REPOSITORY_TOKEN } from '@app/infrastructure/profiles/profile-repository.token'; import { AUTH_REPOSITORY_TOKEN } from '@app/infrastructure/authentification/auth-repository.token'; import { AuthRepository } from '@app/domain/authentification/auth.repository'; +import { mockToastR } from '@app/testing/toastr.mock'; +import { mockProfileRepo } from '@app/testing/profile.mock'; +import { mockAuthRepo } from '@app/testing/auth.mock'; describe('RegisterComponent', () => { let component: RegisterComponent; let fixture: ComponentFixture; - let mockToastrService: jest.Mocked>; - let mockProfileRepo: jest.Mocked>; - let mockAuthRepository: jest.Mocked>; + let mockToastrService: jest.Mocked> = mockToastR; + let mockProfileRepository: jest.Mocked> = mockProfileRepo; + let mockAuthRepository: jest.Mocked> = mockAuthRepo; beforeEach(async () => { - mockProfileRepo = { - create: jest.fn(), - list: jest.fn(), - update: jest.fn(), - getById: jest.fn(), - }; - - mockToastrService = { - success: jest.fn(), - error: jest.fn(), - warning: jest.fn(), - }; - - mockAuthRepository = { - get: jest.fn(), - login: jest.fn(), - sendVerificationEmail: jest.fn(), - logout: jest.fn(), - isAuthenticated: jest.fn(), - isEmailVerified: jest.fn(), - register: jest.fn(), - sendRequestPasswordReset: jest.fn(), - confirmPasswordReset: jest.fn(), - }; - await TestBed.configureTestingModule({ imports: [RegisterComponent], providers: [ provideRouter([]), { provide: ToastrService, useValue: mockToastrService }, - { provide: PROFILE_REPOSITORY_TOKEN, useValue: mockProfileRepo }, + { provide: PROFILE_REPOSITORY_TOKEN, useValue: mockProfileRepository }, { provide: AUTH_REPOSITORY_TOKEN, useValue: mockAuthRepository }, ], }).compileComponents(); diff --git a/src/app/shared/features/search/search.component.spec.ts b/src/app/shared/features/search/search.component.spec.ts index c1aafac..2601a38 100644 --- a/src/app/shared/features/search/search.component.spec.ts +++ b/src/app/shared/features/search/search.component.spec.ts @@ -4,37 +4,25 @@ import { SearchComponent } from './search.component'; import { provideRouter } from '@angular/router'; import { PROFILE_REPOSITORY_TOKEN } from '@app/infrastructure/profiles/profile-repository.token'; import { SECTOR_REPOSITORY_TOKEN } from '@app/infrastructure/sectors/sector-repository.token'; -import { of } from 'rxjs'; -import { Profile } from '@app/domain/profiles/profile.model'; import { ProfileRepository } from '@app/domain/profiles/profile.repository'; import { SectorRepository } from '@app/domain/sectors/sector.repository'; -import { Sector } from '@app/domain/sectors/sector.model'; +import { mockProfileRepo } from '@app/testing/profile.mock'; +import { mockSectorRepo } from '@app/testing/sector.mock'; describe('SearchComponent', () => { let component: SearchComponent; let fixture: ComponentFixture; - let mockProfileRepo: jest.Mocked>; - let mockSectorRepo: jest.Mocked>; + let mockProfileRepository: jest.Mocked> = mockProfileRepo; + let mockSectorRepository: jest.Mocked> = mockSectorRepo; beforeEach(async () => { - mockProfileRepo = { - create: jest.fn().mockReturnValue(of({} as Profile)), - list: jest.fn().mockReturnValue(of([])), - getById: jest.fn().mockReturnValue(of({} as Profile)), - update: jest.fn().mockReturnValue(of({} as Profile)), - }; - - mockSectorRepo = { - list: jest.fn().mockReturnValue(of([])), - getOne: jest.fn().mockReturnValue(of({} as Sector)), - }; await TestBed.configureTestingModule({ imports: [SearchComponent], providers: [ provideRouter([]), - { provide: PROFILE_REPOSITORY_TOKEN, useValue: mockProfileRepo }, - { provide: SECTOR_REPOSITORY_TOKEN, useValue: mockSectorRepo }, + { provide: PROFILE_REPOSITORY_TOKEN, useValue: mockProfileRepository }, + { provide: SECTOR_REPOSITORY_TOKEN, useValue: mockSectorRepository }, ], }).compileComponents(); diff --git a/src/app/shared/features/update-user/update-user.component.spec.ts b/src/app/shared/features/update-user/update-user.component.spec.ts index 5418c0e..57b9f1e 100644 --- a/src/app/shared/features/update-user/update-user.component.spec.ts +++ b/src/app/shared/features/update-user/update-user.component.spec.ts @@ -5,28 +5,22 @@ import { provideRouter } from '@angular/router'; import { UserRepository } from '@app/domain/users/user.repository'; import { USER_REPOSITORY_TOKEN } from '@app/infrastructure/users/user-repository.token'; import { ToastrService } from 'ngx-toastr'; +import { mockUserRepo } from '@app/testing/user.mock'; +import { mockToastR } from '@app/testing/toastr.mock'; describe('UpdateUserComponent', () => { let component: UpdateUserComponent; let fixture: ComponentFixture; - let mockUserRepo: jest.Mocked>; - let mockToastrService: jest.Mocked>; + let mockUserRepository: jest.Mocked> = mockUserRepo; + let mockToastrService: jest.Mocked> = mockToastR; beforeEach(async () => { - mockUserRepo = { - getUserById: jest.fn(), - }; - mockToastrService = { - warning: jest.fn(), - success: jest.fn(), - error: jest.fn(), - }; await TestBed.configureTestingModule({ imports: [UpdateUserComponent], providers: [ provideRouter([]), - { provide: USER_REPOSITORY_TOKEN, useValue: mockUserRepo }, + { provide: USER_REPOSITORY_TOKEN, useValue: mockUserRepository }, { provide: ToastrService, useValue: mockToastrService }, ], }).compileComponents(); diff --git a/src/app/testing/auth.mock.ts b/src/app/testing/auth.mock.ts new file mode 100644 index 0000000..3147831 --- /dev/null +++ b/src/app/testing/auth.mock.ts @@ -0,0 +1,11 @@ +export const mockAuthRepo = { + get: jest.fn(), + login: jest.fn(), + sendVerificationEmail: jest.fn(), + logout: jest.fn(), + isAuthenticated: jest.fn(), + isEmailVerified: jest.fn(), + register: jest.fn(), + sendRequestPasswordReset: jest.fn(), + confirmPasswordReset: jest.fn(), +}; diff --git a/src/app/testing/profile.mock.ts b/src/app/testing/profile.mock.ts index 7d316da..864fb4b 100644 --- a/src/app/testing/profile.mock.ts +++ b/src/app/testing/profile.mock.ts @@ -1,4 +1,5 @@ import { Profile, ProfilePaginated } from '@app/domain/profiles/profile.model'; +import { of } from 'rxjs'; export const mockProfiles: Profile[] = [ { @@ -38,3 +39,10 @@ export const mockProfilePaginated: ProfilePaginated = { totalItems: 1, items: mockProfiles, }; + +export const mockProfileRepo = { + create: jest.fn().mockReturnValue(of({} as Profile)), + list: jest.fn().mockReturnValue(of([])), + getById: jest.fn().mockReturnValue(of({} as Profile)), + update: jest.fn().mockReturnValue(of({} as Profile)), +}; diff --git a/src/app/testing/project.mock.ts b/src/app/testing/project.mock.ts index 1226577..db6a8be 100644 --- a/src/app/testing/project.mock.ts +++ b/src/app/testing/project.mock.ts @@ -1,4 +1,5 @@ import { Project } from '@app/domain/projects/project.model'; +import { of } from 'rxjs'; export const fakeProjects: Project[] = [ { @@ -57,3 +58,10 @@ export const fakeProjects: Project[] = [ utilisateur: 'user_001', }, ]; + +export const mockProjectRepo = { + create: jest.fn().mockReturnValue(of({} as Project)), + list: jest.fn().mockReturnValue(of([])), + get: jest.fn().mockReturnValue(of({} as Project)), + update: jest.fn().mockReturnValue(of({} as Project)), +}; diff --git a/src/app/testing/sector.mock.ts b/src/app/testing/sector.mock.ts index fe1b2db..560584a 100644 --- a/src/app/testing/sector.mock.ts +++ b/src/app/testing/sector.mock.ts @@ -1,4 +1,5 @@ import { Sector } from '@app/domain/sectors/sector.model'; +import { of } from 'rxjs'; export const fakeSectors: Sector[] = [ { @@ -32,3 +33,8 @@ export const fakeSectors: Sector[] = [ nom: 'Ressources humaines', }, ]; + +export const mockSectorRepo = { + list: jest.fn().mockReturnValue(of([])), + getOne: jest.fn().mockReturnValue(of({} as Sector)), +}; diff --git a/src/app/testing/theme.mock.ts b/src/app/testing/theme.mock.ts new file mode 100644 index 0000000..06deef6 --- /dev/null +++ b/src/app/testing/theme.mock.ts @@ -0,0 +1,6 @@ +import { signal } from '@angular/core'; + +export const mockThemeService = { + darkModeSignal: signal('null'), + updateDarkMode: jest.fn(), +}; diff --git a/src/app/testing/toastr.mock.ts b/src/app/testing/toastr.mock.ts new file mode 100644 index 0000000..e51bc40 --- /dev/null +++ b/src/app/testing/toastr.mock.ts @@ -0,0 +1,6 @@ +export const mockToastR = { + warning: jest.fn(), + success: jest.fn(), + info: jest.fn(), + error: jest.fn(), +}; diff --git a/src/app/testing/ui/authentification/auth.facade.mock.ts b/src/app/testing/ui/authentification/auth.facade.mock.ts new file mode 100644 index 0000000..0bef9bc --- /dev/null +++ b/src/app/testing/ui/authentification/auth.facade.mock.ts @@ -0,0 +1,8 @@ +import { signal } from '@angular/core'; +import { ActionType } from '@app/domain/action-type.util'; + +export const mockAuthenticationFacade = { + sendRequestPasswordReset: jest.fn(), + loading: signal({ isLoading: false, action: ActionType.NONE }), + error: signal({ hasError: false }), +}; diff --git a/src/app/testing/user.mock.ts b/src/app/testing/user.mock.ts index 288de1f..b23238c 100644 --- a/src/app/testing/user.mock.ts +++ b/src/app/testing/user.mock.ts @@ -1,4 +1,5 @@ import { User } from '@app/domain/users/user.model'; +import { of } from 'rxjs'; export const fakeUsers: User[] = [ { @@ -13,3 +14,8 @@ export const fakeUsers: User[] = [ verified: false, }, ]; + +export const mockUserRepo = { + getUserById: jest.fn().mockReturnValue(of({} as User)), + update: jest.fn(), +}; diff --git a/tsconfig.json b/tsconfig.json index 1f50ff3..e8d3149 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,6 +2,7 @@ { "compileOnSave": false, "compilerOptions": { + "skipLibCheck": true, "baseUrl": ".", "resolveJsonModule": true, "paths": {