From aeb4c995d3e476d38c5fad50b79cdb8602549df8 Mon Sep 17 00:00:00 2001
From: andrej romanov <50377758+auumgn@users.noreply.github.com>
Date: Wed, 4 Sep 2024 17:26:27 +0300
Subject: [PATCH 1/7] change disabled attribute

---
 .../modals/work-bibtex-modal/work-bibtex-modal.component.html | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/app/record/components/work-stack-group/modals/work-bibtex-modal/work-bibtex-modal.component.html b/src/app/record/components/work-stack-group/modals/work-bibtex-modal/work-bibtex-modal.component.html
index 5de58af56f..19b738190f 100644
--- a/src/app/record/components/work-stack-group/modals/work-bibtex-modal/work-bibtex-modal.component.html
+++ b/src/app/record/components/work-stack-group/modals/work-bibtex-modal/work-bibtex-modal.component.html
@@ -95,7 +95,7 @@ <h3>
             <mat-checkbox
               (change)="updateCheckAll()"
               [(ngModel)]="selectAll"
-              [disabled]="isAnInvalidWork"
+              [attr.disabled]="isAnInvalidWork"
             >
               <ng-container
                 i18n="@@shared.selectAll"
@@ -123,7 +123,7 @@ <h3>
               <mat-checkbox
                 (change)="updateCheck(work)"
                 formControlName="checked"
-                [disabled]="work?.errors?.length > 0"
+                [attr.disabled]="work?.errors?.length > 0"
               >
                 <h2 class="orc-font-body" *ngIf="work?.title?.value">
                   {{ work?.title?.value }}

From ed4f2951ad31473b0052353080d3faca5f5bc5a9 Mon Sep 17 00:00:00 2001
From: andrej romanov <50377758+auumgn@users.noreply.github.com>
Date: Wed, 4 Sep 2024 17:41:26 +0300
Subject: [PATCH 2/7] remove logs in a complicated way

---
 .../step-b/step-b.component.spec.ts           | 63 +++++++++++-
 .../step-c/step-c.component.spec.ts           | 99 ++++++++++++++++++-
 .../components/step-c/step-c.spec.ts          | 44 ++++++++-
 .../components/step-c2/step-c2.spec.ts        | 35 ++++++-
 .../step-d/step-d.component.spec.ts           | 76 +++++++++++++-
 5 files changed, 311 insertions(+), 6 deletions(-)

diff --git a/src/app/register/components/step-b/step-b.component.spec.ts b/src/app/register/components/step-b/step-b.component.spec.ts
index d8ed95bef5..1c281a5aa3 100644
--- a/src/app/register/components/step-b/step-b.component.spec.ts
+++ b/src/app/register/components/step-b/step-b.component.spec.ts
@@ -2,19 +2,80 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 
 import { StepBComponent } from './step-b.component'
 
+import { CUSTOM_ELEMENTS_SCHEMA, forwardRef } from '@angular/core'
+import {
+  NG_VALUE_ACCESSOR,
+  ReactiveFormsModule,
+  UntypedFormControl,
+  UntypedFormGroup,
+} from '@angular/forms'
+import { FormPasswordComponent } from 'src/app/register2/components/form-password/form-password.component'
+import { HttpClientTestingModule } from '@angular/common/http/testing'
+import { RouterTestingModule } from '@angular/router/testing'
+import { WINDOW_PROVIDERS } from 'src/app/cdk/window/window.service'
+import { PlatformInfoService } from 'src/app/cdk/platform-info'
+import { ErrorHandlerService } from 'src/app/core/error-handler/error-handler.service'
+import { SnackbarService } from 'src/app/cdk/snackbar/snackbar.service'
+import { Overlay } from '@angular/cdk/overlay'
+import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'
+import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
+
+import { Component } from '@angular/core'
+import { ControlValueAccessor } from '@angular/forms'
+
+@Component({
+  selector: 'app-form-notifications',
+  template: '<div></div>',
+  providers: [
+    {
+      provide: NG_VALUE_ACCESSOR,
+      useExisting: forwardRef(() => MockFormNotificationsComponent),
+      multi: true,
+    },
+  ],
+})
+export class MockFormNotificationsComponent implements ControlValueAccessor {
+  writeValue(): void {}
+  registerOnChange(fn: () => void): void {}
+  registerOnTouched(fn: () => void): void {}
+}
+
 describe('StepBComponent', () => {
   let component: StepBComponent
   let fixture: ComponentFixture<StepBComponent>
 
   beforeEach(() => {
     TestBed.configureTestingModule({
-      declarations: [StepBComponent],
+      imports: [
+        ReactiveFormsModule,
+        HttpClientTestingModule,
+        RouterTestingModule,
+      ],
+      declarations: [
+        StepBComponent,
+        FormPasswordComponent,
+        MockFormNotificationsComponent,
+      ],
+      providers: [
+        WINDOW_PROVIDERS,
+        PlatformInfoService,
+        ErrorHandlerService,
+        MatSnackBar,
+        MatDialog,
+        SnackbarService,
+        Overlay,
+      ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
   beforeEach(() => {
     fixture = TestBed.createComponent(StepBComponent)
     component = fixture.componentInstance
+    component.formGroup = new UntypedFormGroup({
+      password: new UntypedFormControl(''),
+      sendOrcidNews: new UntypedFormControl(''),
+    })
     fixture.detectChanges()
   })
 
diff --git a/src/app/register/components/step-c/step-c.component.spec.ts b/src/app/register/components/step-c/step-c.component.spec.ts
index db7d3c24ff..151fc1970b 100644
--- a/src/app/register/components/step-c/step-c.component.spec.ts
+++ b/src/app/register/components/step-c/step-c.component.spec.ts
@@ -2,19 +2,116 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 
 import { StepCComponent } from './step-c.component'
 
+import { Component, CUSTOM_ELEMENTS_SCHEMA, forwardRef } from '@angular/core'
+import {
+  ControlValueAccessor,
+  NG_VALUE_ACCESSOR,
+  ReactiveFormsModule,
+  UntypedFormControl,
+  UntypedFormGroup,
+} from '@angular/forms'
+import { FormVisibilityComponent } from '../form-visibility/form-visibility.component'
+import { HttpClientTestingModule } from '@angular/common/http/testing'
+import { RouterTestingModule } from '@angular/router/testing'
+import { WINDOW_PROVIDERS } from 'src/app/cdk/window/window.service'
+import { PlatformInfoService } from 'src/app/cdk/platform-info/platform-info.service'
+import { ErrorHandlerService } from 'src/app/core/error-handler/error-handler.service'
+import { SnackbarService } from 'src/app/cdk/snackbar/snackbar.service'
+import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'
+import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
+import { Overlay } from '@angular/cdk/overlay'
+import { FormTermsComponent } from '../form-terms/form-terms.component'
+import { FormAntiRobotsComponent } from '../form-anti-robots/form-anti-robots.component'
+
+@Component({
+  selector: 'app-form-visibility',
+  template: '<div></div>',
+  providers: [
+    {
+      provide: NG_VALUE_ACCESSOR,
+      useExisting: forwardRef(() => MockFormVisibilityComponent),
+      multi: true,
+    },
+  ],
+})
+export class MockFormVisibilityComponent implements ControlValueAccessor {
+  writeValue(): void {}
+  registerOnChange(fn: () => void): void {}
+  registerOnTouched(fn: () => void): void {}
+}
+
+@Component({
+  selector: 'app-form-terms',
+  template: '<div></div>',
+  providers: [
+    {
+      provide: NG_VALUE_ACCESSOR,
+      useExisting: forwardRef(() => MockFormTermsComponent),
+      multi: true,
+    },
+  ],
+})
+export class MockFormTermsComponent implements ControlValueAccessor {
+  writeValue(): void {}
+  registerOnChange(fn: () => void): void {}
+  registerOnTouched(fn: () => void): void {}
+}
+
+@Component({
+  selector: 'app-form-anti-robots',
+  template: '<div></div>',
+  providers: [
+    {
+      provide: NG_VALUE_ACCESSOR,
+      useExisting: forwardRef(() => MockFormAntiRobotsComponent),
+      multi: true,
+    },
+  ],
+})
+export class MockFormAntiRobotsComponent implements ControlValueAccessor {
+  writeValue(): void {}
+  registerOnChange(fn: () => void): void {}
+  registerOnTouched(fn: () => void): void {}
+}
+
 describe('StepCComponent', () => {
   let component: StepCComponent
   let fixture: ComponentFixture<StepCComponent>
 
   beforeEach(() => {
     TestBed.configureTestingModule({
-      declarations: [StepCComponent],
+      imports: [
+        ReactiveFormsModule,
+        HttpClientTestingModule,
+        RouterTestingModule,
+      ],
+      declarations: [
+        StepCComponent,
+        MockFormVisibilityComponent,
+        MockFormTermsComponent,
+        MockFormAntiRobotsComponent,
+      ],
+      providers: [
+        WINDOW_PROVIDERS,
+        PlatformInfoService,
+        ErrorHandlerService,
+        MatSnackBar,
+        MatDialog,
+        SnackbarService,
+        Overlay,
+      ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
   beforeEach(() => {
     fixture = TestBed.createComponent(StepCComponent)
     component = fixture.componentInstance
+    component.formGroup = new UntypedFormGroup({
+      activitiesVisibilityDefault: new UntypedFormControl(''),
+      termsOfUse: new UntypedFormControl(''),
+      captcha: new UntypedFormControl(''),
+    })
     fixture.detectChanges()
   })
 
diff --git a/src/app/register2/components/step-c/step-c.spec.ts b/src/app/register2/components/step-c/step-c.spec.ts
index db7d3c24ff..af56bda939 100644
--- a/src/app/register2/components/step-c/step-c.spec.ts
+++ b/src/app/register2/components/step-c/step-c.spec.ts
@@ -2,19 +2,61 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 
 import { StepCComponent } from './step-c.component'
 
+import { Component, CUSTOM_ELEMENTS_SCHEMA, forwardRef } from '@angular/core'
+import {
+  ControlValueAccessor,
+  NG_VALUE_ACCESSOR,
+  ReactiveFormsModule,
+  UntypedFormControl,
+  UntypedFormGroup,
+} from '@angular/forms'
+import { HttpClientModule } from '@angular/common/http'
+import { RouterTestingModule } from '@angular/router/testing'
+import { WINDOW_PROVIDERS } from 'src/app/cdk/window'
+import { SnackbarService } from 'src/app/cdk/snackbar/snackbar.service'
+import { MatLegacySnackBarModule } from '@angular/material/legacy-snack-bar'
+
+@Component({
+  selector: 'app-form-visibility',
+  template: '<div></div>',
+  providers: [
+    {
+      provide: NG_VALUE_ACCESSOR,
+      useExisting: forwardRef(() => MockFormVisibilityComponent),
+      multi: true,
+    },
+  ],
+})
+export class MockFormVisibilityComponent implements ControlValueAccessor {
+  writeValue(): void {}
+  registerOnChange(fn: () => void): void {}
+  registerOnTouched(fn: () => void): void {}
+}
+
 describe('StepCComponent', () => {
   let component: StepCComponent
   let fixture: ComponentFixture<StepCComponent>
 
   beforeEach(() => {
     TestBed.configureTestingModule({
-      declarations: [StepCComponent],
+      imports: [
+        ReactiveFormsModule,
+        HttpClientModule,
+        RouterTestingModule,
+        MatLegacySnackBarModule,
+      ],
+      declarations: [StepCComponent, MockFormVisibilityComponent],
+      providers: [WINDOW_PROVIDERS, SnackbarService],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
   beforeEach(() => {
     fixture = TestBed.createComponent(StepCComponent)
     component = fixture.componentInstance
+    component.formGroup = new UntypedFormGroup({
+      activitiesVisibilityDefault: new UntypedFormControl(),
+    })
     fixture.detectChanges()
   })
 
diff --git a/src/app/register2/components/step-c2/step-c2.spec.ts b/src/app/register2/components/step-c2/step-c2.spec.ts
index 5c05204955..8ab14e3606 100644
--- a/src/app/register2/components/step-c2/step-c2.spec.ts
+++ b/src/app/register2/components/step-c2/step-c2.spec.ts
@@ -2,19 +2,52 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 
 import { StepC2Component } from './step-c2.component'
 
+import { Component, CUSTOM_ELEMENTS_SCHEMA, forwardRef } from '@angular/core'
+import {
+  ControlValueAccessor,
+  NG_VALUE_ACCESSOR,
+  ReactiveFormsModule,
+  UntypedFormControl,
+  UntypedFormGroup,
+} from '@angular/forms'
+
+@Component({
+  selector: 'app-form-current-employment',
+  template: '<div></div>',
+  providers: [
+    {
+      provide: NG_VALUE_ACCESSOR,
+      useExisting: forwardRef(() => MockFormCurrentEmploymentComponent),
+      multi: true,
+    },
+  ],
+})
+export class MockFormCurrentEmploymentComponent
+  implements ControlValueAccessor
+{
+  writeValue(): void {}
+  registerOnChange(fn: () => void): void {}
+  registerOnTouched(fn: () => void): void {}
+}
+
 describe('StepCComponent', () => {
   let component: StepC2Component
   let fixture: ComponentFixture<StepC2Component>
 
   beforeEach(() => {
     TestBed.configureTestingModule({
-      declarations: [StepC2Component],
+      imports: [ReactiveFormsModule],
+      declarations: [StepC2Component, MockFormCurrentEmploymentComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
   beforeEach(() => {
     fixture = TestBed.createComponent(StepC2Component)
     component = fixture.componentInstance
+    component.formGroup = new UntypedFormGroup({
+      affiliations: new UntypedFormControl(''),
+    })
     fixture.detectChanges()
   })
 
diff --git a/src/app/register2/components/step-d/step-d.component.spec.ts b/src/app/register2/components/step-d/step-d.component.spec.ts
index 33538efa82..3a5021278d 100644
--- a/src/app/register2/components/step-d/step-d.component.spec.ts
+++ b/src/app/register2/components/step-d/step-d.component.spec.ts
@@ -2,19 +2,91 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 
 import { StepDComponent } from './step-d.component'
 
-describe('StepCComponent', () => {
+import { Component, CUSTOM_ELEMENTS_SCHEMA, forwardRef } from '@angular/core'
+import {
+  ControlValueAccessor,
+  NG_VALUE_ACCESSOR,
+  ReactiveFormsModule,
+  UntypedFormControl,
+  UntypedFormGroup,
+} from '@angular/forms'
+
+@Component({
+  selector: 'app-form-notifications',
+  template: '<div></div>',
+  providers: [
+    {
+      provide: NG_VALUE_ACCESSOR,
+      useExisting: forwardRef(() => MockFormNotificationsComponent),
+      multi: true,
+    },
+  ],
+})
+export class MockFormNotificationsComponent implements ControlValueAccessor {
+  writeValue(): void {}
+  registerOnChange(fn: () => void): void {}
+  registerOnTouched(fn: () => void): void {}
+}
+
+@Component({
+  selector: 'app-form-terms',
+  template: '<div></div>',
+  providers: [
+    {
+      provide: NG_VALUE_ACCESSOR,
+      useExisting: forwardRef(() => MockFormTermsComponent),
+      multi: true,
+    },
+  ],
+})
+export class MockFormTermsComponent implements ControlValueAccessor {
+  writeValue(): void {}
+  registerOnChange(fn: () => void): void {}
+  registerOnTouched(fn: () => void): void {}
+}
+
+@Component({
+  selector: 'app-form-anti-robots',
+  template: '<div></div>',
+  providers: [
+    {
+      provide: NG_VALUE_ACCESSOR,
+      useExisting: forwardRef(() => MockFormAntiRobotsComponent),
+      multi: true,
+    },
+  ],
+})
+export class MockFormAntiRobotsComponent implements ControlValueAccessor {
+  writeValue(): void {}
+  registerOnChange(fn: () => void): void {}
+  registerOnTouched(fn: () => void): void {}
+}
+
+describe('StepDComponent', () => {
   let component: StepDComponent
   let fixture: ComponentFixture<StepDComponent>
 
   beforeEach(() => {
     TestBed.configureTestingModule({
-      declarations: [StepDComponent],
+      imports: [ReactiveFormsModule],
+      declarations: [
+        StepDComponent,
+        MockFormNotificationsComponent,
+        MockFormTermsComponent,
+        MockFormAntiRobotsComponent,
+      ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
   beforeEach(() => {
     fixture = TestBed.createComponent(StepDComponent)
     component = fixture.componentInstance
+    component.formGroup = new UntypedFormGroup({
+      sendOrcidNews: new UntypedFormControl(),
+      termsOfUse: new UntypedFormControl(),
+      captcha: new UntypedFormControl(),
+    })
     fixture.detectChanges()
   })
 

From 79dfe5ea6c81849a2b53b9d93ba00471604e3d2b Mon Sep 17 00:00:00 2001
From: andrej romanov <50377758+auumgn@users.noreply.github.com>
Date: Wed, 4 Sep 2024 18:04:27 +0300
Subject: [PATCH 3/7] update 2fa test

---
 .../two-factor-enable/two-factor-enable.component.spec.ts     | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/app/two-factor-setup/components/two-factor-enable/two-factor-enable.component.spec.ts b/src/app/two-factor-setup/components/two-factor-enable/two-factor-enable.component.spec.ts
index 5abe1a1546..a29cba2cc3 100644
--- a/src/app/two-factor-setup/components/two-factor-enable/two-factor-enable.component.spec.ts
+++ b/src/app/two-factor-setup/components/two-factor-enable/two-factor-enable.component.spec.ts
@@ -16,6 +16,7 @@ import { MatLegacyFormFieldModule as MatFormFieldModule } from '@angular/materia
 import { MatLegacyInputModule as MatInputModule } from '@angular/material/legacy-input'
 import { NoopAnimationsModule } from '@angular/platform-browser/animations'
 import { of } from 'rxjs'
+import { TwoFactorSetup } from 'src/app/types/two-factor.endpoint'
 
 describe('TwoFactorEnableComponent', () => {
   let component: TwoFactorEnableComponent
@@ -29,7 +30,7 @@ describe('TwoFactorEnableComponent', () => {
         'TwoFactorAuthenticationService',
         {
           getTextCode: of({ secret: '123456' }),
-          register: undefined,
+          register: of({ valid: true } as TwoFactorSetup),
         }
       )
 
@@ -102,5 +103,6 @@ describe('TwoFactorEnableComponent', () => {
     fixture.detectChanges()
 
     expect(fakeTwoFactorAuthenticationService.register).toHaveBeenCalled()
+    expect(component.showBadVerificationCode).toBeFalse()
   })
 })

From 90bdce0cece80f9465cff03292ecbfc600db51f5 Mon Sep 17 00:00:00 2001
From: andrej romanov <50377758+auumgn@users.noreply.github.com>
Date: Wed, 4 Sep 2024 18:05:01 +0300
Subject: [PATCH 4/7] remove most other warnings in test logs

mostly module imports and custom elements schemas;
planning to remove custom elements schemas from any "proper" test in next commit
---
 ...licated-merged-confirmed.component.spec.ts |  2 ++
 ...plicated-two-factor-auth.component.spec.ts |  3 ++
 ...ialog-actions-duplicated.component.spec.ts |  3 ++
 ...alternate-account-delete.component.spec.ts |  3 ++
 ...tings-actions-deactivate.component.spec.ts |  3 ++
 ...ettings-actions-download.component.spec.ts |  3 ++
 ...tings-actions-duplicated.component.spec.ts | 12 ++++++--
 .../settings-actions.component.spec.ts        |  3 ++
 ...defaults-email-frequency.component.spec.ts |  3 ++
 ...ttings-defaults-language.component.spec.ts |  3 ++
 ...ings-defaults-visibility.component.spec.ts |  3 ++
 .../settings-defaults.component.spec.ts       |  3 ++
 ...curity-alternate-sign-in.component.spec.ts |  3 ++
 ...ttings-security-password.component.spec.ts |  3 ++
 ...security-two-factor-auth.component.spec.ts |  3 ++
 .../settings-security.component.spec.ts       |  3 ++
 ...ttings-sharing-html-code.component.spec.ts |  3 ++
 ...settings-sharing-qr-code.component.spec.ts |  3 ++
 .../settings-sharing.component.spec.ts        |  3 ++
 .../settings/settings.component.spec.ts       |  3 ++
 .../account-settings.component.spec.ts        |  3 ++
 ...dividuals-your-own-email.component.spec.ts |  3 ++
 ...-add-trusted-individuals.component.spec.ts |  3 ++
 ...voke-trusted-individuals.component.spec.ts |  3 ++
 ...oke-trusted-organization.component.spec.ts |  3 ++
 ...usted-individuals-search.component.spec.ts | 11 ++++++-
 ...ings-trusted-individuals.component.spec.ts |  3 ++
 ...ngs-trusted-organization.component.spec.ts |  3 ++
 ...gs-trusted-organizations.component.spec.ts |  3 ++
 ...gs-users-that-thrust-you.component.spec.ts |  3 ++
 .../settings/settings.component.spec.ts       |  3 ++
 .../account-trusted-parties.component.spec.ts |  3 ++
 src/app/app.component.spec.ts                 |  3 ++
 .../form-authorize.component.spec.ts          |  3 ++
 .../oauth-error/oauth-error.component.spec.ts |  3 ++
 .../authorize/authorize.component.spec.ts     |  3 ++
 .../cdk/a11y-link/a11y-link.directive.spec.ts |  2 ++
 .../settings-panels-data.component.spec.ts    |  3 ++
 ...gs-panels-expand-buttons.component.spec.ts |  5 ++++
 .../settings-panels.component.spec.ts         |  3 ++
 .../alert-message.component.spec.ts           |  3 ++
 src/app/cdk/banner/banner.component.spec.ts   |  3 ++
 .../form-directives/trim.directive.spec.ts    |  2 ++
 .../info-drop-down.component.spec.ts          |  3 ++
 .../is-this-you/is-this-you.component.spec.ts |  3 ++
 .../modal-footer.component.spec.ts            |  3 ++
 .../modal-header.component.spec.ts            |  3 ++
 .../modal-side-bar.component.spec.ts          |  3 ++
 .../cdk/modal/modal/modal.component.spec.ts   |  3 ++
 .../my-orcid-alerts.component.spec.ts         |  3 ++
 .../panel-data-line.component.spec.ts         |  3 ++
 .../panel-data/panel-data.component.spec.ts   |  3 ++
 .../panel-element-source.component.spec.ts    |  3 ++
 .../panel-element.component.spec.ts           |  3 ++
 .../panel-expand-buttons.component.spec.ts    |  5 ++++
 .../panel-privacy.component.spec.ts           |  3 ++
 .../panel-source.component.spec.ts            |  3 ++
 .../cdk/panel/panel/panel.component.spec.ts   |  3 ++
 .../cdk/panel/panels/panels.component.spec.ts |  3 ++
 src/app/cdk/panel/sort-label.pipe.spec.ts     |  2 ++
 .../platform-info.service.spec.ts             |  2 ++
 .../cdk/recaptcha/recaptcha.directive.spec.ts |  2 ++
 .../modal-country.component.spec.ts           |  3 ++
 .../modal-email/modal-email.component.spec.ts |  5 ++++
 .../modal-keyword.component.spec.ts           | 13 ++++++--
 ...modal-person-identifiers.component.spec.ts | 10 ++++++-
 .../modal-websites.component.spec.ts          | 11 ++++++-
 .../source-hit/source-hit.component.spec.ts   |  3 ++
 .../side-bar-id/side-bar-id.component.spec.ts |  3 ++
 .../side-bar/side-bar.component.spec.ts       |  3 ++
 src/app/cdk/snackbar/snackbar.service.spec.ts |  2 ++
 .../snackbar/snackbar.component.spec.ts       |  3 ++
 ...my-public-record-preview.component.spec.ts |  3 ++
 ...verification-email-modal.component.spec.ts |  3 ++
 ...p-bar-verification-email.component.spec.ts |  3 ++
 ...ted-individuals-dropdown.component.spec.ts |  3 ++
 .../summary-panel.component.spec.ts           |  3 ++
 .../summary-simple-panel.component.spec.ts    |  3 ++
 .../trusted-summary.component.spec.ts         |  3 ++
 ...ctor-authentication-form.component.spec.ts |  5 ++++
 .../visibility-selector.component.spec.ts     |  3 ++
 .../warning-message.component.spec.ts         |  3 ++
 ...account-actions-deactivate.service.spec.ts |  2 ++
 .../account-actions-download.service.spec.ts  |  2 ++
 ...account-actions-duplicated.service.spec.ts |  2 ++
 ...-default-email-frequencies.service.spec.ts |  2 ++
 ...account-default-visibility.service.spec.ts |  2 ++
 ...security-alternate-sign-in.service.spec.ts |  2 ++
 .../account-security-password.service.spec.ts |  2 ++
 ...ccount-trusted-individuals.service.spec.ts |  2 ++
 ...ount-trusted-organizations.service.spec.ts |  2 ++
 .../core/announcer/announcer.service.spec.ts  |  2 ++
 .../canonocal-url.service.spec.ts             |  2 ++
 src/app/core/core.module.spec.ts              |  2 ++
 src/app/core/crazy-egg/script.service.spec.ts |  2 ++
 .../developer-tools.service.spec.ts           |  2 ++
 src/app/core/disco/disco.service.spec.ts      |  2 ++
 .../error-handler.service.spec.ts             |  2 ++
 .../google-tag-manager.service.spec.ts        |  2 ++
 .../core/help-hero/help-hero.service.spec.ts  |  2 ++
 src/app/core/inbox/inbox.service.spec.ts      |  2 ++
 .../core/language/language.service.spec.ts    |  2 ++
 src/app/core/news/news.service.spec.ts        |  2 ++
 src/app/core/oauth/oauth.service.spec.ts      |  2 ++
 .../core/oauth/organizations.service.spec.ts  |  2 ++
 .../open-graph/open-graph.service.spec.ts     |  2 ++
 .../organizations.service.spec.ts             |  2 ++
 .../password-recovery.service.spec.ts         |  2 ++
 .../reactivation/reactivation.service.spec.ts |  2 ++
 ...cord-affiliations-grouping.service.spec.ts |  2 ++
 .../record-affiliations-sort.service.spec.ts  |  2 ++
 .../record-affiliations.service.spec.ts       |  2 ++
 .../record-biography.service.spec.ts          |  2 ++
 .../record-countries.service.spec.ts          |  2 ++
 .../record-emails.service.spec.ts             |  2 ++
 .../record-fundings.service.spec.ts           |  2 ++
 .../record-keyword.service.spec.ts            |  2 ++
 .../record-names/record-names.service.spec.ts |  2 ++
 .../record-other-names.service.spec.ts        |  2 ++
 .../record-peer-review.service.spec.ts        |  2 ++
 .../record-person.service.spec.ts             |  2 ++
 .../record-persona-identifier.service.spec.ts |  2 ++
 .../record-public-side-bar.service.spec.ts    |  2 ++
 .../record-research-resource.service.spec.ts  |  2 ++
 .../record-websites.service.spec.ts           |  2 ++
 .../record-works/record-works.service.spec.ts |  2 ++
 src/app/core/record/record.service.spec.ts    |  2 ++
 .../core/register/register.service.spec.ts    |  2 ++
 .../robots-meta-tags.service.spec.ts          |  2 ++
 src/app/core/search/search.service.spec.ts    |  2 ++
 src/app/core/sign-in/sign-in.service.spec.ts  |  2 ++
 .../core/title-service/title.service.spec.ts  |  2 ++
 src/app/core/togglz/togglz.directive.spec.ts  |  2 ++
 src/app/core/togglz/togglz.service.spec.ts    |  2 ++
 .../trusted-individuals.service.spec.ts       |  2 ++
 .../trusted-summary.service.spec.ts           |  2 ++
 .../two-factor-authentication.service.spec.ts |  2 ++
 .../core/user-info/user-info.service.spec.ts  |  2 ++
 src/app/core/user/user.service.spec.ts        |  2 ++
 .../verification-email-modal.service.spec.ts  |  2 ++
 .../core/wordpress/wordpress.service.spec.ts  |  2 ++
 src/app/core/zendesk/zendesk.service.spec.ts  |  2 ++
 .../client-secret-modal.component.spec.ts     |  3 ++
 .../client-secret.component.spec.ts           |  3 ++
 .../code-panel/code-panel.component.spec.ts   |  3 ++
 .../terms-of-use.component.spec.ts            |  3 ++
 .../developer-tools.component.spec.ts         |  3 ++
 .../environment-banner.component.spec.ts      |  3 ++
 .../authenticated-no-delagator.guard.spec.ts  |  2 ++
 src/app/guards/authenticated.guard.spec.ts    |  2 ++
 src/app/guards/language.guard.spec.ts         |  2 ++
 src/app/guards/link-account.guard.spec.ts     |  2 ++
 src/app/guards/register.spec.ts               |  2 ++
 src/app/guards/sign-in.guard.spec.ts          |  2 ++
 ...third-party-signin-completed.guard.spec.ts |  2 ++
 .../guards/two-factor-signin.guard.spec.ts    |  2 ++
 .../components/news/news.component.spec.ts    |  3 ++
 src/app/home/home.module.spec.ts              |  2 ++
 .../home/pages/home/home.component.spec.ts    |  3 ++
 .../notification-html.component.spec.ts       |  3 ++
 ...institutional-connection.component.spec.ts |  3 ++
 .../notification-permission.component.spec.ts |  3 ++
 ...tion-your-record-amended.component.spec.ts |  3 ++
 .../notification.component.spec.ts            | 16 ++++++++++
 .../notifications.component.spec.ts           |  3 ++
 .../inbox/pages/inbox/inbox.component.spec.ts |  3 ++
 .../institutional.component.spec.ts           |  5 ++++
 .../layout/banners/banners.component.spec.ts  |  3 ++
 .../layout/footer/footer.component.spec.ts    |  3 ++
 .../layout/header/header.component.spec.ts    |  3 ++
 .../language/language.component.spec.ts       |  3 ++
 src/app/layout/layout.module.spec.ts          |  2 ++
 .../maintenance-message.component.spec.ts     |  3 ++
 .../menu-icon/menu-icon.component.spec.ts     |  3 ++
 .../layout/search/search.component.spec.ts    | 11 ++++++-
 .../skip-main-nav.component.spec.ts           |  3 ++
 .../statistics/statistics.component.spec.ts   |  3 ++
 .../user-menu/user-menu.component.spec.ts     |  3 ++
 .../link-account.component.spec.ts            |  3 ++
 .../password-recovery.component.spec.ts       | 11 ++++++-
 .../affiliation-stack.component.spec.ts       |  3 ++
 ...ffiliation-stacks-groups.component.spec.ts |  3 ++
 .../modal-affiliations.component.spec.ts      | 27 +++++++++++++++--
 .../affiliation/affiliation.component.spec.ts |  3 ++
 .../display-attribute.component.spec.ts       |  3 ++
 .../display-external-ids.component.spec.ts    |  3 ++
 ...xternal-identifiers-edit.component.spec.ts |  3 ++
 ...al-identifiers-view-only.component.spec.ts |  3 ++
 .../funding-stack.component.spec.ts           |  3 ++
 .../funding-stacks-groups.component.spec.ts   |  3 ++
 ...odal-funding-search-link.component.spec.ts |  3 ++
 .../modal-funding.component.spec.ts           |  3 ++
 .../funding/funding.component.spec.ts         |  3 ++
 .../components/main/main.component.spec.ts    |  3 ++
 .../modal-delete-items.component.spec.ts      | 10 ++++++-
 .../not-found/not-found.component.spec.ts     |  3 ++
 .../org-identifier.component.spec.ts          |  3 ++
 .../peer-review-stack.component.spec.ts       |  3 ++
 .../modal-peer-reviews.component.spec.ts      |  3 ++
 ...eer-review-stacks-groups.component.spec.ts |  3 ++
 .../peer-review/peer-review.component.spec.ts |  3 ++
 .../record-header.component.spec.ts           | 10 ++++++-
 .../record-info/record-info.component.spec.ts |  3 ++
 .../research-resource-stack.component.spec.ts |  3 ++
 ...ch-resource-stacks-group.component.spec.ts |  3 ++
 .../research-resource.component.spec.ts       |  3 ++
 .../search-link-wizard.component.spec.ts      |  3 ++
 .../top-bar-actions.component.spec.ts         |  3 ++
 .../top-bar-record-issues.component.spec.ts   |  3 ++
 .../modal-biography.component.spec.ts         |  3 ++
 .../modal-name/modal-name.component.spec.ts   |  3 ++
 .../top-bar/top-bar.component.spec.ts         |  3 ++
 .../work-contributor-roles.component.spec.ts  |  3 ++
 .../work-contributors.component.spec.ts       |  3 ++
 ...xternal-identifiers-edit.component.spec.ts |  3 ++
 ...al-identifiers-view-only.component.spec.ts |  3 ++
 .../work-form/work-form.component.spec.ts     |  3 ++
 .../work-modal/work-modal.component.spec.ts   |  3 ++
 .../work-bibtex-modal.component.spec.ts       |  3 ++
 .../work-external-id-modal.component.spec.ts  | 11 +++++--
 .../modal-works-search-link.component.spec.ts |  3 ++
 .../work-stack-group.component.spec.ts        |  3 ++
 .../work-stack/work-stack.component.spec.ts   |  3 ++
 ...bine-works-with-selector.component.spec.ts |  3 ++
 .../modal-combine-works.component.spec.ts     |  3 ++
 .../modal-export-works.component.spec.ts      |  3 ++
 .../works-visibility-modal.component.spec.ts  | 20 +++++++++++--
 .../components/work/work.component.spec.ts    |  3 ++
 .../pages/my-orcid/my-orcid.component.spec.ts |  3 ++
 .../backend-error.component.spec.ts           |  3 ++
 .../form-anti-robots.component.spec.ts        |  3 ++
 .../form-notifications.component.spec.ts      | 12 +++++++-
 .../form-password.component.spec.ts           | 11 ++++++-
 ...rsonal-additional-emails.component.spec.ts |  3 ++
 .../form-personal.component.spec.ts           |  3 ++
 .../form-terms/form-terms.component.spec.ts   |  3 ++
 .../form-visibility.component.spec.ts         |  3 ++
 .../step-a/step-a.component.spec.ts           | 30 +++++++++++++++++--
 .../top-bar-record-issues.component.spec.ts   |  3 ++
 .../pages/register/register.component.spec.ts |  3 ++
 .../backend-error.component.spec.ts           |  3 ++
 .../form-anti-robots.component.spec.ts        |  3 ++
 .../form-current-employment.component.spec.ts |  3 ++
 .../form-notifications.component.spec.ts      | 12 +++++++-
 .../form-password.component.spec.ts           | 11 ++++++-
 ...rsonal-additional-emails.component.spec.ts |  3 ++
 .../form-personal.component.spec.ts           |  3 ++
 .../form-terms/form-terms.component.spec.ts   |  3 ++
 .../form-visibility.component.spec.ts         |  3 ++
 .../step-a/step-a.component.spec.ts           | 20 +++++++++++--
 .../step-b/step-b.component.spec.ts           | 26 +++++++++++++++-
 .../register2/register-state.service.spec.ts  |  2 ++
 .../reset-password.component.spec.ts          |  3 ++
 .../advance-search.component.spec.ts          |  3 ++
 .../results/results.component.spec.ts         |  3 ++
 .../pages/search/search.component.spec.ts     |  6 +++-
 .../self-service.component.spec.ts            |  3 ++
 .../copy-on-click.component.spec.ts           |  3 ++
 .../offline-message.component.spec.ts         |  3 ++
 .../showing-of/showing-of.component.spec.ts   |  3 ++
 .../copy-on-click.directive.spec.ts           |  2 ++
 .../pipes/affiliation-label.pipe.spec.ts      |  2 ++
 .../affiliation-type-label.pipe.spec.ts       |  2 ++
 .../affiliation-type.pipe.spec.ts             |  2 ++
 ...el-activity-action-aria-label.pipe.spec.ts |  2 ++
 .../app-panels-add-aria-label.pipe.spec.ts    |  2 ++
 ...pp-panels-collapse-aria-label.pipe.spec.ts |  2 ++
 .../app-panels-expand-aria-label.pipe.spec.ts |  2 ++
 .../app-panels-sort-aria-label.pipe.spec.ts   |  2 ++
 ...app-panels-sort-by-aria-label.pipe.spec.ts |  2 ++
 .../city-region-country.pipe.spec.ts          |  2 ++
 .../contributors.pipe.spec.ts                 |  2 ++
 .../contributor-roles.pipe.spec.ts            |  2 ++
 .../disabled-role/disable-role.pipe.spec.ts   |  2 ++
 .../edit-button-aria-label.pipe.spec.ts       |  2 ++
 .../email-frequency-label.pipe.spec.ts        |  2 ++
 .../format-bibtex/format-bibtex.pipe.spec.ts  |  2 ++
 .../is-url-with-protocol.pipe.spec.ts         |  2 ++
 .../shared/pipes/is-url/is-url.pipe.spec.ts   |  2 ++
 ...month-day-year-date-to-string.pipe.spec.ts |  2 ++
 .../organization-link.pipe.spec.ts            |  2 ++
 ...nding-relationship-hint-label.pipe.spec.ts |  2 ++
 ...rd-funding-relationship-label.pipe.spec.ts |  2 ++
 .../record-funding-type-label.pipe.spec.ts    |  2 ++
 .../record-holder-roles.pipe.spec.ts          |  2 ++
 .../record-work-category-label.pipe.spec.ts   |  2 ++
 ...-work-relationship-hint-label.pipe.spec.ts |  2 ++
 ...ecord-work-relationship-label.pipe.spec.ts |  2 ++
 .../record-work-title-name-label.pipe.spec.ts |  2 ++
 .../record-work-type-label.pipe.spec.ts       |  2 ++
 .../replace-text/replace-text.pipe.spec.ts    |  2 ++
 .../role-translation.pipe.spec.ts             |  2 ++
 .../pipes/safe-html/safe-html.pipe.spec.ts    |  2 ++
 .../scope-path-type.pipe.spec.ts              |  2 ++
 .../shared/pipes/sort-by/sort-by.pipe.spec.ts |  2 ++
 .../trailing-zeros.pipe.spec.ts               |  2 ++
 .../visibility-string-label.pipe.spec.ts      |  2 ++
 src/app/shared/shared.module.spec.ts          |  2 ++
 .../deactivated/deactivated.component.spec.ts | 10 ++++++-
 .../print-errors.component.spec.ts            |  3 ++
 .../form-sign-in.component.spec.ts            | 10 ++++++-
 .../logged-in/logged-in.component.spec.ts     |  3 ++
 .../social/social.component.spec.ts           |  3 ++
 .../pages/sign-in/sign-in.component.spec.ts   |  3 ++
 .../trusted-summary-page.component.spec.ts    |  3 ++
 ...wo-factor-recovery-codes.component.spec.ts | 13 +++++++-
 .../two-factor-setup.component.spec.ts        |  4 ++-
 .../two-factor/two-factor.component.spec.ts   |  3 ++
 308 files changed, 1049 insertions(+), 32 deletions(-)

diff --git a/src/app/account-settings/components/dialog-actions-duplicated-merged-confirmed/dialog-actions-duplicated-merged-confirmed.component.spec.ts b/src/app/account-settings/components/dialog-actions-duplicated-merged-confirmed/dialog-actions-duplicated-merged-confirmed.component.spec.ts
index 23b63a14f7..d340b4a0ae 100644
--- a/src/app/account-settings/components/dialog-actions-duplicated-merged-confirmed/dialog-actions-duplicated-merged-confirmed.component.spec.ts
+++ b/src/app/account-settings/components/dialog-actions-duplicated-merged-confirmed/dialog-actions-duplicated-merged-confirmed.component.spec.ts
@@ -5,6 +5,7 @@ import {
   MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA,
   MatLegacyDialogRef as MatDialogRef,
 } from '@angular/material/legacy-dialog'
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
 
 describe('DialogActionsDuplicatedMergedConfirmedComponent', () => {
   let component: DialogActionsDuplicatedMergedConfirmedComponent
@@ -17,6 +18,7 @@ describe('DialogActionsDuplicatedMergedConfirmedComponent', () => {
         { provide: MatDialogRef, useValue: {} },
         { provide: MAT_DIALOG_DATA, useValue: {} },
       ],
+    schemas: [CUSTOM_ELEMENTS_SCHEMA]
     }).compileComponents()
   })
 
diff --git a/src/app/account-settings/components/dialog-actions-duplicated-two-factor-auth/dialog-actions-duplicated-two-factor-auth.component.spec.ts b/src/app/account-settings/components/dialog-actions-duplicated-two-factor-auth/dialog-actions-duplicated-two-factor-auth.component.spec.ts
index a0d9a7056d..52212170be 100644
--- a/src/app/account-settings/components/dialog-actions-duplicated-two-factor-auth/dialog-actions-duplicated-two-factor-auth.component.spec.ts
+++ b/src/app/account-settings/components/dialog-actions-duplicated-two-factor-auth/dialog-actions-duplicated-two-factor-auth.component.spec.ts
@@ -16,6 +16,8 @@ import { HttpClientTestingModule } from '@angular/common/http/testing'
 import { RouterTestingModule } from '@angular/router/testing'
 import { TwoFactorAuthenticationService } from '../../../core/two-factor-authentication/two-factor-authentication.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('DialogActionsDuplicatedTwoFactorAuthComponent', () => {
   let component: DialogActionsDuplicatedTwoFactorAuthComponent
   let fixture: ComponentFixture<DialogActionsDuplicatedTwoFactorAuthComponent>
@@ -36,6 +38,7 @@ describe('DialogActionsDuplicatedTwoFactorAuthComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/account-settings/components/dialog-actions-duplicated/dialog-actions-duplicated.component.spec.ts b/src/app/account-settings/components/dialog-actions-duplicated/dialog-actions-duplicated.component.spec.ts
index bb943a4e08..18450d311e 100644
--- a/src/app/account-settings/components/dialog-actions-duplicated/dialog-actions-duplicated.component.spec.ts
+++ b/src/app/account-settings/components/dialog-actions-duplicated/dialog-actions-duplicated.component.spec.ts
@@ -15,6 +15,8 @@ import { SnackbarService } from '../../../cdk/snackbar/snackbar.service'
 import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('DialogActionsDuplicatedComponent', () => {
   let component: DialogActionsDuplicatedComponent
   let fixture: ComponentFixture<DialogActionsDuplicatedComponent>
@@ -34,6 +36,7 @@ describe('DialogActionsDuplicatedComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/account-settings/components/dialog-security-alternate-account-delete/dialog-security-alternate-account-delete.component.spec.ts b/src/app/account-settings/components/dialog-security-alternate-account-delete/dialog-security-alternate-account-delete.component.spec.ts
index 470bb6af72..02e72bd181 100644
--- a/src/app/account-settings/components/dialog-security-alternate-account-delete/dialog-security-alternate-account-delete.component.spec.ts
+++ b/src/app/account-settings/components/dialog-security-alternate-account-delete/dialog-security-alternate-account-delete.component.spec.ts
@@ -6,6 +6,8 @@ import {
   MatLegacyDialogRef as MatDialogRef,
 } from '@angular/material/legacy-dialog'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('DialogSecurityAlternateAccountDeleteComponent', () => {
   let component: DialogSecurityAlternateAccountDeleteComponent
   let fixture: ComponentFixture<DialogSecurityAlternateAccountDeleteComponent>
@@ -17,6 +19,7 @@ describe('DialogSecurityAlternateAccountDeleteComponent', () => {
         { provide: MatDialogRef, useValue: {} },
         { provide: MAT_DIALOG_DATA, useValue: {} },
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/account-settings/components/settings-actions-deactivate/settings-actions-deactivate.component.spec.ts b/src/app/account-settings/components/settings-actions-deactivate/settings-actions-deactivate.component.spec.ts
index b9da5645b3..ce7859a377 100644
--- a/src/app/account-settings/components/settings-actions-deactivate/settings-actions-deactivate.component.spec.ts
+++ b/src/app/account-settings/components/settings-actions-deactivate/settings-actions-deactivate.component.spec.ts
@@ -16,6 +16,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { Overlay } from '@angular/cdk/overlay'
 import { AccountActionsDeactivateService } from '../../../core/account-actions-deactivate/account-actions-deactivate.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SettingsActionsDeactivateComponent', () => {
   let component: SettingsActionsDeactivateComponent
   let fixture: ComponentFixture<SettingsActionsDeactivateComponent>
@@ -36,6 +38,7 @@ describe('SettingsActionsDeactivateComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/account-settings/components/settings-actions-download/settings-actions-download.component.spec.ts b/src/app/account-settings/components/settings-actions-download/settings-actions-download.component.spec.ts
index 2b6f8b0705..463ca7fe48 100644
--- a/src/app/account-settings/components/settings-actions-download/settings-actions-download.component.spec.ts
+++ b/src/app/account-settings/components/settings-actions-download/settings-actions-download.component.spec.ts
@@ -12,6 +12,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SettingsActionsDownloadComponent', () => {
   let component: SettingsActionsDownloadComponent
   let fixture: ComponentFixture<SettingsActionsDownloadComponent>
@@ -30,6 +32,7 @@ describe('SettingsActionsDownloadComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/account-settings/components/settings-actions-duplicated/settings-actions-duplicated.component.spec.ts b/src/app/account-settings/components/settings-actions-duplicated/settings-actions-duplicated.component.spec.ts
index f3fb7fa6cb..b157f88ac0 100644
--- a/src/app/account-settings/components/settings-actions-duplicated/settings-actions-duplicated.component.spec.ts
+++ b/src/app/account-settings/components/settings-actions-duplicated/settings-actions-duplicated.component.spec.ts
@@ -8,7 +8,7 @@ import {
   MatLegacyDialogModule as MatDialogModule,
 } from '@angular/material/legacy-dialog'
 import { WINDOW_PROVIDERS } from '../../../cdk/window'
-import { UntypedFormBuilder } from '@angular/forms'
+import { ReactiveFormsModule, UntypedFormBuilder } from '@angular/forms'
 import { PlatformInfoService } from '../../../cdk/platform-info'
 import { ErrorHandlerService } from '../../../core/error-handler/error-handler.service'
 import { SnackbarService } from '../../../cdk/snackbar/snackbar.service'
@@ -17,13 +17,20 @@ import { Overlay } from '@angular/cdk/overlay'
 import { UserService } from '../../../core'
 import { AccountActionsDuplicatedService } from '../../../core/account-actions-duplicated/account-actions-duplicated.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SettingsActionsDuplicatedComponent', () => {
   let component: SettingsActionsDuplicatedComponent
   let fixture: ComponentFixture<SettingsActionsDuplicatedComponent>
 
   beforeEach(async () => {
     await TestBed.configureTestingModule({
-      imports: [HttpClientTestingModule, MatDialogModule, RouterTestingModule],
+      imports: [
+        HttpClientTestingModule,
+        MatDialogModule,
+        RouterTestingModule,
+        ReactiveFormsModule,
+      ],
       declarations: [SettingsActionsDuplicatedComponent],
       providers: [
         WINDOW_PROVIDERS,
@@ -37,6 +44,7 @@ describe('SettingsActionsDuplicatedComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/account-settings/components/settings-actions/settings-actions.component.spec.ts b/src/app/account-settings/components/settings-actions/settings-actions.component.spec.ts
index 96f0e47621..6d4414a39b 100644
--- a/src/app/account-settings/components/settings-actions/settings-actions.component.spec.ts
+++ b/src/app/account-settings/components/settings-actions/settings-actions.component.spec.ts
@@ -5,6 +5,8 @@ import { WINDOW_PROVIDERS } from 'src/app/cdk/window/window.service'
 import { ActivatedRoute } from '@angular/router'
 import { of } from 'rxjs'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SettingsActionsComponent', () => {
   let component: SettingsActionsComponent
   let fixture: ComponentFixture<SettingsActionsComponent>
@@ -16,6 +18,7 @@ describe('SettingsActionsComponent', () => {
         WINDOW_PROVIDERS,
         { provide: ActivatedRoute, useValue: { fragment: of({}) } },
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/account-settings/components/settings-defaults-email-frequency/settings-defaults-email-frequency.component.spec.ts b/src/app/account-settings/components/settings-defaults-email-frequency/settings-defaults-email-frequency.component.spec.ts
index 83f0f395a4..9b2eabd024 100644
--- a/src/app/account-settings/components/settings-defaults-email-frequency/settings-defaults-email-frequency.component.spec.ts
+++ b/src/app/account-settings/components/settings-defaults-email-frequency/settings-defaults-email-frequency.component.spec.ts
@@ -15,6 +15,8 @@ import { UserInfoService } from 'src/app/core/user-info/user-info.service'
 import { RecordService } from 'src/app/core/record/record.service'
 import { of } from 'rxjs'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SettingsDefaultsEmailFrequencyComponent', () => {
   let component: SettingsDefaultsEmailFrequencyComponent
   let fixture: ComponentFixture<SettingsDefaultsEmailFrequencyComponent>
@@ -42,6 +44,7 @@ describe('SettingsDefaultsEmailFrequencyComponent', () => {
           },
         },
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/account-settings/components/settings-defaults-language/settings-defaults-language.component.spec.ts b/src/app/account-settings/components/settings-defaults-language/settings-defaults-language.component.spec.ts
index 15edfa5ac9..4eeaf66dc2 100644
--- a/src/app/account-settings/components/settings-defaults-language/settings-defaults-language.component.spec.ts
+++ b/src/app/account-settings/components/settings-defaults-language/settings-defaults-language.component.spec.ts
@@ -13,6 +13,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SettingsDefaultsLanguageComponent', () => {
   let component: SettingsDefaultsLanguageComponent
   let fixture: ComponentFixture<SettingsDefaultsLanguageComponent>
@@ -32,6 +34,7 @@ describe('SettingsDefaultsLanguageComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/account-settings/components/settings-defaults-visibility/settings-defaults-visibility.component.spec.ts b/src/app/account-settings/components/settings-defaults-visibility/settings-defaults-visibility.component.spec.ts
index 687153597b..c2cf6e53a8 100644
--- a/src/app/account-settings/components/settings-defaults-visibility/settings-defaults-visibility.component.spec.ts
+++ b/src/app/account-settings/components/settings-defaults-visibility/settings-defaults-visibility.component.spec.ts
@@ -15,6 +15,8 @@ import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 import { AccountDefaultVisibilityService } from '../../../core/account-default-visibility/account-default-visibility.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SettingsDefaultsVisibilityComponent', () => {
   let component: SettingsDefaultsVisibilityComponent
   let fixture: ComponentFixture<SettingsDefaultsVisibilityComponent>
@@ -35,6 +37,7 @@ describe('SettingsDefaultsVisibilityComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/account-settings/components/settings-defaults/settings-defaults.component.spec.ts b/src/app/account-settings/components/settings-defaults/settings-defaults.component.spec.ts
index bc85c33913..bb12a068ed 100644
--- a/src/app/account-settings/components/settings-defaults/settings-defaults.component.spec.ts
+++ b/src/app/account-settings/components/settings-defaults/settings-defaults.component.spec.ts
@@ -3,6 +3,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 import { SettingsDefaultsComponent } from './settings-defaults.component'
 import { WINDOW_PROVIDERS } from '../../../cdk/window'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SettingsDefaultsComponent', () => {
   let component: SettingsDefaultsComponent
   let fixture: ComponentFixture<SettingsDefaultsComponent>
@@ -11,6 +13,7 @@ describe('SettingsDefaultsComponent', () => {
     await TestBed.configureTestingModule({
       declarations: [SettingsDefaultsComponent],
       providers: [WINDOW_PROVIDERS],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/account-settings/components/settings-security-alternate-sign-in/settings-security-alternate-sign-in.component.spec.ts b/src/app/account-settings/components/settings-security-alternate-sign-in/settings-security-alternate-sign-in.component.spec.ts
index 3f02b4b7b1..d2afbc572c 100644
--- a/src/app/account-settings/components/settings-security-alternate-sign-in/settings-security-alternate-sign-in.component.spec.ts
+++ b/src/app/account-settings/components/settings-security-alternate-sign-in/settings-security-alternate-sign-in.component.spec.ts
@@ -15,6 +15,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { Overlay } from '@angular/cdk/overlay'
 import { AccountSecurityAlternateSignInService } from '../../../core/account-security-alternate-sign-in/account-security-alternate-sign-in.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SettingsSecurityAlternateSignInComponent', () => {
   let component: SettingsSecurityAlternateSignInComponent
   let fixture: ComponentFixture<SettingsSecurityAlternateSignInComponent>
@@ -33,6 +35,7 @@ describe('SettingsSecurityAlternateSignInComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/account-settings/components/settings-security-password/settings-security-password.component.spec.ts b/src/app/account-settings/components/settings-security-password/settings-security-password.component.spec.ts
index 5697e3e167..0cb9bb0cc6 100644
--- a/src/app/account-settings/components/settings-security-password/settings-security-password.component.spec.ts
+++ b/src/app/account-settings/components/settings-security-password/settings-security-password.component.spec.ts
@@ -12,6 +12,8 @@ import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 import { RouterTestingModule } from '@angular/router/testing'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SettingsSecurityPasswordComponent', () => {
   let component: SettingsSecurityPasswordComponent
   let fixture: ComponentFixture<SettingsSecurityPasswordComponent>
@@ -30,6 +32,7 @@ describe('SettingsSecurityPasswordComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/account-settings/components/settings-security-two-factor-auth/settings-security-two-factor-auth.component.spec.ts b/src/app/account-settings/components/settings-security-two-factor-auth/settings-security-two-factor-auth.component.spec.ts
index b099556a4a..e570c7a12c 100644
--- a/src/app/account-settings/components/settings-security-two-factor-auth/settings-security-two-factor-auth.component.spec.ts
+++ b/src/app/account-settings/components/settings-security-two-factor-auth/settings-security-two-factor-auth.component.spec.ts
@@ -12,6 +12,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { Overlay } from '@angular/cdk/overlay'
 import { TwoFactorAuthenticationService } from '../../../core/two-factor-authentication/two-factor-authentication.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SettingsSecurityTwoFactorAuthComponent', () => {
   let component: SettingsSecurityTwoFactorAuthComponent
   let fixture: ComponentFixture<SettingsSecurityTwoFactorAuthComponent>
@@ -30,6 +32,7 @@ describe('SettingsSecurityTwoFactorAuthComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/account-settings/components/settings-security/settings-security.component.spec.ts b/src/app/account-settings/components/settings-security/settings-security.component.spec.ts
index f0d86257d8..8a12b87fb4 100644
--- a/src/app/account-settings/components/settings-security/settings-security.component.spec.ts
+++ b/src/app/account-settings/components/settings-security/settings-security.component.spec.ts
@@ -12,6 +12,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { Overlay } from '@angular/cdk/overlay'
 import { TwoFactorAuthenticationService } from '../../../core/two-factor-authentication/two-factor-authentication.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SettingsSecurityComponent', () => {
   let component: SettingsSecurityComponent
   let fixture: ComponentFixture<SettingsSecurityComponent>
@@ -30,6 +32,7 @@ describe('SettingsSecurityComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/account-settings/components/settings-sharing-html-code/settings-sharing-html-code.component.spec.ts b/src/app/account-settings/components/settings-sharing-html-code/settings-sharing-html-code.component.spec.ts
index 0747080d48..47b0b916aa 100644
--- a/src/app/account-settings/components/settings-sharing-html-code/settings-sharing-html-code.component.spec.ts
+++ b/src/app/account-settings/components/settings-sharing-html-code/settings-sharing-html-code.component.spec.ts
@@ -12,6 +12,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { Overlay } from '@angular/cdk/overlay'
 import { UserService } from '../../../core'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SettingsSharingHtmlCodeComponent', () => {
   let component: SettingsSharingHtmlCodeComponent
   let fixture: ComponentFixture<SettingsSharingHtmlCodeComponent>
@@ -30,6 +32,7 @@ describe('SettingsSharingHtmlCodeComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/account-settings/components/settings-sharing-qr-code/settings-sharing-qr-code.component.spec.ts b/src/app/account-settings/components/settings-sharing-qr-code/settings-sharing-qr-code.component.spec.ts
index 380b957b7b..cc627f9e72 100644
--- a/src/app/account-settings/components/settings-sharing-qr-code/settings-sharing-qr-code.component.spec.ts
+++ b/src/app/account-settings/components/settings-sharing-qr-code/settings-sharing-qr-code.component.spec.ts
@@ -2,6 +2,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 
 import { SettingsSharingQrCodeComponent } from './settings-sharing-qr-code.component'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SettingsSharingQrCodeComponent', () => {
   let component: SettingsSharingQrCodeComponent
   let fixture: ComponentFixture<SettingsSharingQrCodeComponent>
@@ -9,6 +11,7 @@ describe('SettingsSharingQrCodeComponent', () => {
   beforeEach(async () => {
     await TestBed.configureTestingModule({
       declarations: [SettingsSharingQrCodeComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/account-settings/components/settings-sharing/settings-sharing.component.spec.ts b/src/app/account-settings/components/settings-sharing/settings-sharing.component.spec.ts
index e2b3b7eb4f..14abd25ae6 100644
--- a/src/app/account-settings/components/settings-sharing/settings-sharing.component.spec.ts
+++ b/src/app/account-settings/components/settings-sharing/settings-sharing.component.spec.ts
@@ -7,6 +7,8 @@ import {
 } from '@angular/material/legacy-dialog'
 import { WINDOW_PROVIDERS } from '../../../cdk/window'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SettingsSharingComponent', () => {
   let component: SettingsSharingComponent
   let fixture: ComponentFixture<SettingsSharingComponent>
@@ -15,6 +17,7 @@ describe('SettingsSharingComponent', () => {
     await TestBed.configureTestingModule({
       declarations: [SettingsSharingComponent],
       providers: [WINDOW_PROVIDERS],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/account-settings/components/settings/settings.component.spec.ts b/src/app/account-settings/components/settings/settings.component.spec.ts
index c3f66fef0c..d2331d235f 100644
--- a/src/app/account-settings/components/settings/settings.component.spec.ts
+++ b/src/app/account-settings/components/settings/settings.component.spec.ts
@@ -3,6 +3,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 import { SettingsComponent } from './settings.component'
 import { WINDOW_PROVIDERS } from '../../../cdk/window'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SettingsComponent', () => {
   let component: SettingsComponent
   let fixture: ComponentFixture<SettingsComponent>
@@ -11,6 +13,7 @@ describe('SettingsComponent', () => {
     await TestBed.configureTestingModule({
       declarations: [SettingsComponent],
       providers: [WINDOW_PROVIDERS],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/account-settings/pages/account-settings/account-settings.component.spec.ts b/src/app/account-settings/pages/account-settings/account-settings.component.spec.ts
index fa53eb6493..0a58b01d50 100644
--- a/src/app/account-settings/pages/account-settings/account-settings.component.spec.ts
+++ b/src/app/account-settings/pages/account-settings/account-settings.component.spec.ts
@@ -11,6 +11,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('AccountSettingsComponent', () => {
   let component: AccountSettingsComponent
   let fixture: ComponentFixture<AccountSettingsComponent>
@@ -28,6 +30,7 @@ describe('AccountSettingsComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/account-trusted-parties/components/dialog-add-trusted-individuals-your-own-email/dialog-add-trusted-individuals-your-own-email.component.spec.ts b/src/app/account-trusted-parties/components/dialog-add-trusted-individuals-your-own-email/dialog-add-trusted-individuals-your-own-email.component.spec.ts
index 9d8a2e5cae..8272b322b5 100644
--- a/src/app/account-trusted-parties/components/dialog-add-trusted-individuals-your-own-email/dialog-add-trusted-individuals-your-own-email.component.spec.ts
+++ b/src/app/account-trusted-parties/components/dialog-add-trusted-individuals-your-own-email/dialog-add-trusted-individuals-your-own-email.component.spec.ts
@@ -6,6 +6,8 @@ import {
   MatLegacyDialogRef as MatDialogRef,
 } from '@angular/material/legacy-dialog'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('DialogAddTrustedIndividualsComponent', () => {
   let component: DialogAddTrustedIndividualsYourOwnEmailComponent
   let fixture: ComponentFixture<DialogAddTrustedIndividualsYourOwnEmailComponent>
@@ -18,6 +20,7 @@ describe('DialogAddTrustedIndividualsComponent', () => {
         { provide: MatDialogRef, useValue: {} },
         { provide: MAT_DIALOG_DATA, useValue: {} },
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/account-trusted-parties/components/dialog-add-trusted-individuals/dialog-add-trusted-individuals.component.spec.ts b/src/app/account-trusted-parties/components/dialog-add-trusted-individuals/dialog-add-trusted-individuals.component.spec.ts
index b72f878978..d13b198fa4 100644
--- a/src/app/account-trusted-parties/components/dialog-add-trusted-individuals/dialog-add-trusted-individuals.component.spec.ts
+++ b/src/app/account-trusted-parties/components/dialog-add-trusted-individuals/dialog-add-trusted-individuals.component.spec.ts
@@ -17,6 +17,8 @@ import { SnackbarService } from '../../../cdk/snackbar/snackbar.service'
 import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('DialogAddTrustedIndividualsComponent', () => {
   let component: DialogAddTrustedIndividualsComponent
   let fixture: ComponentFixture<DialogAddTrustedIndividualsComponent>
@@ -36,6 +38,7 @@ describe('DialogAddTrustedIndividualsComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/account-trusted-parties/components/dialog-revoke-trusted-individuals/dialog-revoke-trusted-individuals.component.spec.ts b/src/app/account-trusted-parties/components/dialog-revoke-trusted-individuals/dialog-revoke-trusted-individuals.component.spec.ts
index b074b7ce53..d504c1774c 100644
--- a/src/app/account-trusted-parties/components/dialog-revoke-trusted-individuals/dialog-revoke-trusted-individuals.component.spec.ts
+++ b/src/app/account-trusted-parties/components/dialog-revoke-trusted-individuals/dialog-revoke-trusted-individuals.component.spec.ts
@@ -15,6 +15,8 @@ import { SnackbarService } from '../../../cdk/snackbar/snackbar.service'
 import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('DialogRevokeTrustedIndividualsComponent', () => {
   let component: DialogRevokeTrustedIndividualsComponent
   let fixture: ComponentFixture<DialogRevokeTrustedIndividualsComponent>
@@ -34,6 +36,7 @@ describe('DialogRevokeTrustedIndividualsComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/account-trusted-parties/components/dialog-revoke-trusted-organization/dialog-revoke-trusted-organization.component.spec.ts b/src/app/account-trusted-parties/components/dialog-revoke-trusted-organization/dialog-revoke-trusted-organization.component.spec.ts
index 03f684b5a8..1304d52dea 100644
--- a/src/app/account-trusted-parties/components/dialog-revoke-trusted-organization/dialog-revoke-trusted-organization.component.spec.ts
+++ b/src/app/account-trusted-parties/components/dialog-revoke-trusted-organization/dialog-revoke-trusted-organization.component.spec.ts
@@ -15,6 +15,8 @@ import { SnackbarService } from '../../../cdk/snackbar/snackbar.service'
 import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('DialogRevokeTrustedOrganizationComponent', () => {
   let component: DialogRevokeTrustedOrganizationComponent
   let fixture: ComponentFixture<DialogRevokeTrustedOrganizationComponent>
@@ -34,6 +36,7 @@ describe('DialogRevokeTrustedOrganizationComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/account-trusted-parties/components/settings-trusted-individuals-search/settings-trusted-individuals-search.component.spec.ts b/src/app/account-trusted-parties/components/settings-trusted-individuals-search/settings-trusted-individuals-search.component.spec.ts
index ba2f40aa68..81815dff07 100644
--- a/src/app/account-trusted-parties/components/settings-trusted-individuals-search/settings-trusted-individuals-search.component.spec.ts
+++ b/src/app/account-trusted-parties/components/settings-trusted-individuals-search/settings-trusted-individuals-search.component.spec.ts
@@ -17,13 +17,21 @@ import { SearchService } from '../../../core/search/search.service'
 import { AccountTrustedIndividualsService } from '../../../core/account-trusted-individuals/account-trusted-individuals.service'
 import { UserService } from '../../../core'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+import { FormsModule } from '@angular/forms'
+
 describe('SettingsTrustedIndividualsSearchComponent', () => {
   let component: SettingsTrustedIndividualsSearchComponent
   let fixture: ComponentFixture<SettingsTrustedIndividualsSearchComponent>
 
   beforeEach(async () => {
     await TestBed.configureTestingModule({
-      imports: [HttpClientTestingModule, MatDialogModule, RouterTestingModule],
+      imports: [
+        HttpClientTestingModule,
+        MatDialogModule,
+        RouterTestingModule,
+        FormsModule,
+      ],
       declarations: [SettingsTrustedIndividualsSearchComponent],
       providers: [
         WINDOW_PROVIDERS,
@@ -37,6 +45,7 @@ describe('SettingsTrustedIndividualsSearchComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/account-trusted-parties/components/settings-trusted-individuals/settings-trusted-individuals.component.spec.ts b/src/app/account-trusted-parties/components/settings-trusted-individuals/settings-trusted-individuals.component.spec.ts
index 7b3eaee8f1..4078bc01bc 100644
--- a/src/app/account-trusted-parties/components/settings-trusted-individuals/settings-trusted-individuals.component.spec.ts
+++ b/src/app/account-trusted-parties/components/settings-trusted-individuals/settings-trusted-individuals.component.spec.ts
@@ -15,6 +15,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { Overlay } from '@angular/cdk/overlay'
 import { AccountTrustedIndividualsService } from '../../../core/account-trusted-individuals/account-trusted-individuals.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SettingsTrustedIndividualsComponent', () => {
   let component: SettingsTrustedIndividualsComponent
   let fixture: ComponentFixture<SettingsTrustedIndividualsComponent>
@@ -33,6 +35,7 @@ describe('SettingsTrustedIndividualsComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/account-trusted-parties/components/settings-trusted-organization/settings-trusted-organization.component.spec.ts b/src/app/account-trusted-parties/components/settings-trusted-organization/settings-trusted-organization.component.spec.ts
index 00d53b774b..b2d3e93bd8 100644
--- a/src/app/account-trusted-parties/components/settings-trusted-organization/settings-trusted-organization.component.spec.ts
+++ b/src/app/account-trusted-parties/components/settings-trusted-organization/settings-trusted-organization.component.spec.ts
@@ -2,6 +2,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 
 import { SettingsTrustedOrganizationComponent } from './settings-trusted-organization.component'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SettingsTrustedOrganizationComponent', () => {
   let component: SettingsTrustedOrganizationComponent
   let fixture: ComponentFixture<SettingsTrustedOrganizationComponent>
@@ -9,6 +11,7 @@ describe('SettingsTrustedOrganizationComponent', () => {
   beforeEach(async () => {
     await TestBed.configureTestingModule({
       declarations: [SettingsTrustedOrganizationComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/account-trusted-parties/components/settings-trusted-organizations/settings-trusted-organizations.component.spec.ts b/src/app/account-trusted-parties/components/settings-trusted-organizations/settings-trusted-organizations.component.spec.ts
index d31c0c50a6..d88583c6ab 100644
--- a/src/app/account-trusted-parties/components/settings-trusted-organizations/settings-trusted-organizations.component.spec.ts
+++ b/src/app/account-trusted-parties/components/settings-trusted-organizations/settings-trusted-organizations.component.spec.ts
@@ -15,6 +15,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { Overlay } from '@angular/cdk/overlay'
 import { AccountTrustedOrganizationsService } from '../../../core/account-trusted-organizations/account-trusted-organizations.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SettingsTrustedOrganizationsComponent', () => {
   let component: SettingsTrustedOrganizationsComponent
   let fixture: ComponentFixture<SettingsTrustedOrganizationsComponent>
@@ -33,6 +35,7 @@ describe('SettingsTrustedOrganizationsComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/account-trusted-parties/components/settings-users-that-thrust-you/settings-users-that-thrust-you.component.spec.ts b/src/app/account-trusted-parties/components/settings-users-that-thrust-you/settings-users-that-thrust-you.component.spec.ts
index 063687d53f..7dd13c54cc 100644
--- a/src/app/account-trusted-parties/components/settings-users-that-thrust-you/settings-users-that-thrust-you.component.spec.ts
+++ b/src/app/account-trusted-parties/components/settings-users-that-thrust-you/settings-users-that-thrust-you.component.spec.ts
@@ -14,6 +14,8 @@ import { SnackbarService } from '../../../cdk/snackbar/snackbar.service'
 import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SettingsUsersThatThrustYouComponent', () => {
   let component: SettingsUsersThatThrustYouComponent
   let fixture: ComponentFixture<SettingsUsersThatThrustYouComponent>
@@ -31,6 +33,7 @@ describe('SettingsUsersThatThrustYouComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/account-trusted-parties/components/settings/settings.component.spec.ts b/src/app/account-trusted-parties/components/settings/settings.component.spec.ts
index c3f66fef0c..d2331d235f 100644
--- a/src/app/account-trusted-parties/components/settings/settings.component.spec.ts
+++ b/src/app/account-trusted-parties/components/settings/settings.component.spec.ts
@@ -3,6 +3,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 import { SettingsComponent } from './settings.component'
 import { WINDOW_PROVIDERS } from '../../../cdk/window'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SettingsComponent', () => {
   let component: SettingsComponent
   let fixture: ComponentFixture<SettingsComponent>
@@ -11,6 +13,7 @@ describe('SettingsComponent', () => {
     await TestBed.configureTestingModule({
       declarations: [SettingsComponent],
       providers: [WINDOW_PROVIDERS],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/account-trusted-parties/pages/account-trusted-parties/account-trusted-parties.component.spec.ts b/src/app/account-trusted-parties/pages/account-trusted-parties/account-trusted-parties.component.spec.ts
index 958071acb5..6f52e134a0 100644
--- a/src/app/account-trusted-parties/pages/account-trusted-parties/account-trusted-parties.component.spec.ts
+++ b/src/app/account-trusted-parties/pages/account-trusted-parties/account-trusted-parties.component.spec.ts
@@ -12,6 +12,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { Overlay } from '@angular/cdk/overlay'
 import { UserService } from '../../../core'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('AccountTrustedPartiesComponent', () => {
   let component: AccountTrustedPartiesComponent
   let fixture: ComponentFixture<AccountTrustedPartiesComponent>
@@ -30,6 +32,7 @@ describe('AccountTrustedPartiesComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/app.component.spec.ts b/src/app/app.component.spec.ts
index b78dc29087..a92625ad26 100644
--- a/src/app/app.component.spec.ts
+++ b/src/app/app.component.spec.ts
@@ -17,6 +17,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { Overlay } from '@angular/cdk/overlay'
 import { TitleService } from './core/title-service/title.service'
 import { of } from 'rxjs'
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('AppComponent', () => {
   beforeEach(() => {
     TestBed.configureTestingModule({
@@ -37,6 +39,7 @@ describe('AppComponent', () => {
           },
         },
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
   it('should create the app', () => {
diff --git a/src/app/authorize/components/form-authorize/form-authorize.component.spec.ts b/src/app/authorize/components/form-authorize/form-authorize.component.spec.ts
index 5442bf018a..0e9aec577b 100644
--- a/src/app/authorize/components/form-authorize/form-authorize.component.spec.ts
+++ b/src/app/authorize/components/form-authorize/form-authorize.component.spec.ts
@@ -13,6 +13,8 @@ import { Overlay } from '@angular/cdk/overlay'
 import { UserService } from '../../../core'
 import { OauthService } from '../../../core/oauth/oauth.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('FormAuthorizeComponent', () => {
   let component: FormAuthorizeComponent
   let fixture: ComponentFixture<FormAuthorizeComponent>
@@ -32,6 +34,7 @@ describe('FormAuthorizeComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   }))
 
diff --git a/src/app/authorize/components/oauth-error/oauth-error.component.spec.ts b/src/app/authorize/components/oauth-error/oauth-error.component.spec.ts
index 569d708cc2..339048044c 100644
--- a/src/app/authorize/components/oauth-error/oauth-error.component.spec.ts
+++ b/src/app/authorize/components/oauth-error/oauth-error.component.spec.ts
@@ -13,6 +13,8 @@ import { Overlay } from '@angular/cdk/overlay'
 import { UserService } from '../../../core'
 import { ZendeskService } from '../../../core/zendesk/zendesk.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('OauthErrorComponent', () => {
   let component: OauthErrorComponent
   let fixture: ComponentFixture<OauthErrorComponent>
@@ -32,6 +34,7 @@ describe('OauthErrorComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/authorize/pages/authorize/authorize.component.spec.ts b/src/app/authorize/pages/authorize/authorize.component.spec.ts
index 39da650ebe..f97a23a42a 100644
--- a/src/app/authorize/pages/authorize/authorize.component.spec.ts
+++ b/src/app/authorize/pages/authorize/authorize.component.spec.ts
@@ -12,6 +12,8 @@ import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 import { UserService } from '../../../core'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('AuthorizeComponent', () => {
   let component: AuthorizeComponent
   let fixture: ComponentFixture<AuthorizeComponent>
@@ -30,6 +32,7 @@ describe('AuthorizeComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/cdk/a11y-link/a11y-link.directive.spec.ts b/src/app/cdk/a11y-link/a11y-link.directive.spec.ts
index 0ba9679d99..ad6c0ff10d 100644
--- a/src/app/cdk/a11y-link/a11y-link.directive.spec.ts
+++ b/src/app/cdk/a11y-link/a11y-link.directive.spec.ts
@@ -1,5 +1,7 @@
 import { A11yLinkDirective } from './a11y-link.directive'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('A11yLinkDirective', () => {
   it('should create an instance', () => {
     const directive = new A11yLinkDirective()
diff --git a/src/app/cdk/account-panel/settings-panels-data/settings-panels-data.component.spec.ts b/src/app/cdk/account-panel/settings-panels-data/settings-panels-data.component.spec.ts
index 86d626c8d0..9a5211673c 100644
--- a/src/app/cdk/account-panel/settings-panels-data/settings-panels-data.component.spec.ts
+++ b/src/app/cdk/account-panel/settings-panels-data/settings-panels-data.component.spec.ts
@@ -11,6 +11,8 @@ import { SnackbarService } from '../../snackbar/snackbar.service'
 import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SettingsPanelsDataComponent', () => {
   let component: SettingsPanelsDataComponent
   let fixture: ComponentFixture<SettingsPanelsDataComponent>
@@ -28,6 +30,7 @@ describe('SettingsPanelsDataComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/cdk/account-panel/settings-panels-expand-buttons/settings-panels-expand-buttons.component.spec.ts b/src/app/cdk/account-panel/settings-panels-expand-buttons/settings-panels-expand-buttons.component.spec.ts
index e5bff36f67..1bb45352fa 100644
--- a/src/app/cdk/account-panel/settings-panels-expand-buttons/settings-panels-expand-buttons.component.spec.ts
+++ b/src/app/cdk/account-panel/settings-panels-expand-buttons/settings-panels-expand-buttons.component.spec.ts
@@ -2,13 +2,18 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 
 import { PanelExpandButtonsComponent as SettingsPanelExpandButtonsComponent } from './settings-panels-expand-buttons.component'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+import { MatLegacyTooltipModule } from '@angular/material/legacy-tooltip'
+
 describe('PanelExpandButtonsComponent', () => {
   let component: SettingsPanelExpandButtonsComponent
   let fixture: ComponentFixture<SettingsPanelExpandButtonsComponent>
 
   beforeEach(async () => {
     await TestBed.configureTestingModule({
+      imports: [MatLegacyTooltipModule],
       declarations: [SettingsPanelExpandButtonsComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/cdk/account-panel/settings-panels/settings-panels.component.spec.ts b/src/app/cdk/account-panel/settings-panels/settings-panels.component.spec.ts
index 57886f24fd..4a2158006c 100644
--- a/src/app/cdk/account-panel/settings-panels/settings-panels.component.spec.ts
+++ b/src/app/cdk/account-panel/settings-panels/settings-panels.component.spec.ts
@@ -13,6 +13,8 @@ import { SnackbarService } from '../../snackbar/snackbar.service'
 import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SettingsPanelsComponent', () => {
   let component: SettingsPanelsComponent
   let fixture: ComponentFixture<SettingsPanelsComponent>
@@ -30,6 +32,7 @@ describe('SettingsPanelsComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   }))
 
diff --git a/src/app/cdk/alert-message/alert-message.component.spec.ts b/src/app/cdk/alert-message/alert-message.component.spec.ts
index 568425ffb2..4522fe110e 100644
--- a/src/app/cdk/alert-message/alert-message.component.spec.ts
+++ b/src/app/cdk/alert-message/alert-message.component.spec.ts
@@ -2,6 +2,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 
 import { AlertMessageComponent } from './alert-message.component'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('AlertMessageComponent', () => {
   let component: AlertMessageComponent
   let fixture: ComponentFixture<AlertMessageComponent>
@@ -9,6 +11,7 @@ describe('AlertMessageComponent', () => {
   beforeEach(() => {
     TestBed.configureTestingModule({
       declarations: [AlertMessageComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/cdk/banner/banner.component.spec.ts b/src/app/cdk/banner/banner.component.spec.ts
index 808ace055d..7f11c6eccd 100644
--- a/src/app/cdk/banner/banner.component.spec.ts
+++ b/src/app/cdk/banner/banner.component.spec.ts
@@ -2,6 +2,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 
 import { BannerComponent } from './banner.component'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('BannerComponent', () => {
   let component: BannerComponent
   let fixture: ComponentFixture<BannerComponent>
@@ -9,6 +11,7 @@ describe('BannerComponent', () => {
   beforeEach(() => {
     TestBed.configureTestingModule({
       declarations: [BannerComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/cdk/form-directives/trim.directive.spec.ts b/src/app/cdk/form-directives/trim.directive.spec.ts
index e4ba050188..898c6e9bfc 100644
--- a/src/app/cdk/form-directives/trim.directive.spec.ts
+++ b/src/app/cdk/form-directives/trim.directive.spec.ts
@@ -1,3 +1,5 @@
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('TrimDirective', () => {
   it('should create an instance', () => {})
 })
diff --git a/src/app/cdk/info-drop-down/info-drop-down.component.spec.ts b/src/app/cdk/info-drop-down/info-drop-down.component.spec.ts
index 480beb3bd0..0cc7cf70e2 100644
--- a/src/app/cdk/info-drop-down/info-drop-down.component.spec.ts
+++ b/src/app/cdk/info-drop-down/info-drop-down.component.spec.ts
@@ -2,6 +2,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 
 import { InfoDropDownComponent } from './info-drop-down.component'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('InfoDropDownComponent', () => {
   let component: InfoDropDownComponent
   let fixture: ComponentFixture<InfoDropDownComponent>
@@ -9,6 +11,7 @@ describe('InfoDropDownComponent', () => {
   beforeEach(() => {
     TestBed.configureTestingModule({
       declarations: [InfoDropDownComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/cdk/is-this-you/is-this-you.component.spec.ts b/src/app/cdk/is-this-you/is-this-you.component.spec.ts
index 507fa17105..ac249f8b77 100644
--- a/src/app/cdk/is-this-you/is-this-you.component.spec.ts
+++ b/src/app/cdk/is-this-you/is-this-you.component.spec.ts
@@ -15,6 +15,8 @@ import {
 } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('IsThisYouComponent', () => {
   let component: IsThisYouComponent
   let fixture: ComponentFixture<IsThisYouComponent>
@@ -34,6 +36,7 @@ describe('IsThisYouComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/cdk/modal/modal-footer/modal-footer.component.spec.ts b/src/app/cdk/modal/modal-footer/modal-footer.component.spec.ts
index 8011294d0d..b63e0e6ded 100644
--- a/src/app/cdk/modal/modal-footer/modal-footer.component.spec.ts
+++ b/src/app/cdk/modal/modal-footer/modal-footer.component.spec.ts
@@ -11,6 +11,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('ModalFooterComponent', () => {
   let component: ModalFooterComponent
   let fixture: ComponentFixture<ModalFooterComponent>
@@ -28,6 +30,7 @@ describe('ModalFooterComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/cdk/modal/modal-header/modal-header.component.spec.ts b/src/app/cdk/modal/modal-header/modal-header.component.spec.ts
index cfb7815bdb..9f89ab791d 100644
--- a/src/app/cdk/modal/modal-header/modal-header.component.spec.ts
+++ b/src/app/cdk/modal/modal-header/modal-header.component.spec.ts
@@ -15,6 +15,8 @@ import {
 } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('ModalHeaderComponent', () => {
   let component: ModalHeaderComponent
   let fixture: ComponentFixture<ModalHeaderComponent>
@@ -34,6 +36,7 @@ describe('ModalHeaderComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   }))
 
diff --git a/src/app/cdk/modal/modal-side-bar/modal-side-bar.component.spec.ts b/src/app/cdk/modal/modal-side-bar/modal-side-bar.component.spec.ts
index 583927f32a..38f8df93c7 100644
--- a/src/app/cdk/modal/modal-side-bar/modal-side-bar.component.spec.ts
+++ b/src/app/cdk/modal/modal-side-bar/modal-side-bar.component.spec.ts
@@ -2,6 +2,8 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'
 
 import { ModalSideBarComponent } from './modal-side-bar.component'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('ModalSideBarComponent', () => {
   let component: ModalSideBarComponent
   let fixture: ComponentFixture<ModalSideBarComponent>
@@ -9,6 +11,7 @@ describe('ModalSideBarComponent', () => {
   beforeEach(waitForAsync(() => {
     TestBed.configureTestingModule({
       declarations: [ModalSideBarComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   }))
 
diff --git a/src/app/cdk/modal/modal/modal.component.spec.ts b/src/app/cdk/modal/modal/modal.component.spec.ts
index 06afa65045..7c234aa787 100644
--- a/src/app/cdk/modal/modal/modal.component.spec.ts
+++ b/src/app/cdk/modal/modal/modal.component.spec.ts
@@ -15,6 +15,8 @@ import {
 } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('ModalComponent', () => {
   let component: ModalComponent
   let fixture: ComponentFixture<ModalComponent>
@@ -34,6 +36,7 @@ describe('ModalComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/cdk/my-orcid-alerts/my-orcid-alerts.component.spec.ts b/src/app/cdk/my-orcid-alerts/my-orcid-alerts.component.spec.ts
index e1dc8f66ce..420b402fe1 100644
--- a/src/app/cdk/my-orcid-alerts/my-orcid-alerts.component.spec.ts
+++ b/src/app/cdk/my-orcid-alerts/my-orcid-alerts.component.spec.ts
@@ -2,6 +2,8 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'
 
 import { MyOrcidAlertsComponent } from './my-orcid-alerts.component'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('MyOrcidAlertsComponent', () => {
   let component: MyOrcidAlertsComponent
   let fixture: ComponentFixture<MyOrcidAlertsComponent>
@@ -9,6 +11,7 @@ describe('MyOrcidAlertsComponent', () => {
   beforeEach(waitForAsync(() => {
     TestBed.configureTestingModule({
       declarations: [MyOrcidAlertsComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   }))
 
diff --git a/src/app/cdk/panel/panel-data-line/panel-data-line.component.spec.ts b/src/app/cdk/panel/panel-data-line/panel-data-line.component.spec.ts
index 6d0d609a0f..3ec35fa9db 100644
--- a/src/app/cdk/panel/panel-data-line/panel-data-line.component.spec.ts
+++ b/src/app/cdk/panel/panel-data-line/panel-data-line.component.spec.ts
@@ -2,6 +2,8 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'
 
 import { PanelDataLineComponent } from './panel-data-line.component'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('PanelDataLineComponent', () => {
   let component: PanelDataLineComponent
   let fixture: ComponentFixture<PanelDataLineComponent>
@@ -9,6 +11,7 @@ describe('PanelDataLineComponent', () => {
   beforeEach(waitForAsync(() => {
     TestBed.configureTestingModule({
       declarations: [PanelDataLineComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   }))
 
diff --git a/src/app/cdk/panel/panel-data/panel-data.component.spec.ts b/src/app/cdk/panel/panel-data/panel-data.component.spec.ts
index b7815d66d2..dd0d06c7b3 100644
--- a/src/app/cdk/panel/panel-data/panel-data.component.spec.ts
+++ b/src/app/cdk/panel/panel-data/panel-data.component.spec.ts
@@ -11,6 +11,8 @@ import { SnackbarService } from '../../snackbar/snackbar.service'
 import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('PanelDataComponent', () => {
   let component: PanelDataComponent
   let fixture: ComponentFixture<PanelDataComponent>
@@ -28,6 +30,7 @@ describe('PanelDataComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   }))
 
diff --git a/src/app/cdk/panel/panel-element-source/panel-element-source.component.spec.ts b/src/app/cdk/panel/panel-element-source/panel-element-source.component.spec.ts
index 712ad22de2..6cec3fb645 100644
--- a/src/app/cdk/panel/panel-element-source/panel-element-source.component.spec.ts
+++ b/src/app/cdk/panel/panel-element-source/panel-element-source.component.spec.ts
@@ -2,6 +2,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 
 import { PanelElementSourceComponent } from './panel-element-source.component'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('PanelElementSourceComponent', () => {
   let component: PanelElementSourceComponent
   let fixture: ComponentFixture<PanelElementSourceComponent>
@@ -9,6 +11,7 @@ describe('PanelElementSourceComponent', () => {
   beforeEach(async () => {
     await TestBed.configureTestingModule({
       declarations: [PanelElementSourceComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/cdk/panel/panel-element/panel-element.component.spec.ts b/src/app/cdk/panel/panel-element/panel-element.component.spec.ts
index 9eaf81dc27..2332d4d7df 100644
--- a/src/app/cdk/panel/panel-element/panel-element.component.spec.ts
+++ b/src/app/cdk/panel/panel-element/panel-element.component.spec.ts
@@ -2,6 +2,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 
 import { PanelElementComponent } from './panel-element.component'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('PanelElementComponent', () => {
   let component: PanelElementComponent
   let fixture: ComponentFixture<PanelElementComponent>
@@ -9,6 +11,7 @@ describe('PanelElementComponent', () => {
   beforeEach(() => {
     TestBed.configureTestingModule({
       declarations: [PanelElementComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/cdk/panel/panel-expand-buttons/panel-expand-buttons.component.spec.ts b/src/app/cdk/panel/panel-expand-buttons/panel-expand-buttons.component.spec.ts
index 6ee4855d82..2e999f4a81 100644
--- a/src/app/cdk/panel/panel-expand-buttons/panel-expand-buttons.component.spec.ts
+++ b/src/app/cdk/panel/panel-expand-buttons/panel-expand-buttons.component.spec.ts
@@ -3,13 +3,18 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 import { PanelExpandButtonsComponent } from './panel-expand-buttons.component'
 import { AppPanelsExpandAriaLabelPipe } from '../../../shared/pipes/app-panels-expand-aria-label/app-panels-expand-aria-label.pipe'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+import { MatLegacyTooltipModule } from '@angular/material/legacy-tooltip'
+
 describe('PanelExpandButtonsComponent', () => {
   let component: PanelExpandButtonsComponent
   let fixture: ComponentFixture<PanelExpandButtonsComponent>
 
   beforeEach(async () => {
     await TestBed.configureTestingModule({
+      imports: [MatLegacyTooltipModule],
       declarations: [PanelExpandButtonsComponent, AppPanelsExpandAriaLabelPipe],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/cdk/panel/panel-privacy/panel-privacy.component.spec.ts b/src/app/cdk/panel/panel-privacy/panel-privacy.component.spec.ts
index 70ba64af36..c6c44bcf7b 100644
--- a/src/app/cdk/panel/panel-privacy/panel-privacy.component.spec.ts
+++ b/src/app/cdk/panel/panel-privacy/panel-privacy.component.spec.ts
@@ -2,6 +2,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 
 import { PanelPrivacyComponent } from './panel-privacy.component'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('PanelPrivacyComponent', () => {
   let component: PanelPrivacyComponent
   let fixture: ComponentFixture<PanelPrivacyComponent>
@@ -9,6 +11,7 @@ describe('PanelPrivacyComponent', () => {
   beforeEach(() => {
     TestBed.configureTestingModule({
       declarations: [PanelPrivacyComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/cdk/panel/panel-source/panel-source.component.spec.ts b/src/app/cdk/panel/panel-source/panel-source.component.spec.ts
index 704b0584d8..d271d7824c 100644
--- a/src/app/cdk/panel/panel-source/panel-source.component.spec.ts
+++ b/src/app/cdk/panel/panel-source/panel-source.component.spec.ts
@@ -16,6 +16,8 @@ import { Overlay } from '@angular/cdk/overlay'
 import { VerificationEmailModalService } from '../../../core/verification-email-modal/verification-email-modal.service'
 import { AppPanelActivityActionAriaLabelPipe } from '../../../shared/pipes/app-panel-activity-action-aria-label/app-panel-activity-action-aria-label.pipe'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('PanelSourceComponent', () => {
   let component: PanelSourceComponent
   let fixture: ComponentFixture<PanelSourceComponent>
@@ -35,6 +37,7 @@ describe('PanelSourceComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   }))
 
diff --git a/src/app/cdk/panel/panel/panel.component.spec.ts b/src/app/cdk/panel/panel/panel.component.spec.ts
index 42995ffa95..5e5d566c39 100644
--- a/src/app/cdk/panel/panel/panel.component.spec.ts
+++ b/src/app/cdk/panel/panel/panel.component.spec.ts
@@ -29,6 +29,8 @@ import { NoopAnimationsModule } from '@angular/platform-browser/animations'
 import { ModalBiographyComponent } from '../../../record/components/top-bar/modals/modal-biography/modal-biography.component'
 import { MatLegacyMenuModule as MatMenuModule } from '@angular/material/legacy-menu'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('PanelComponent', () => {
   let component: PanelComponent
   let fixture: ComponentFixture<PanelComponent>
@@ -62,6 +64,7 @@ describe('PanelComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/cdk/panel/panels/panels.component.spec.ts b/src/app/cdk/panel/panels/panels.component.spec.ts
index 13a5a2790d..b2d635632b 100644
--- a/src/app/cdk/panel/panels/panels.component.spec.ts
+++ b/src/app/cdk/panel/panels/panels.component.spec.ts
@@ -26,6 +26,8 @@ import { UntypedFormBuilder } from '@angular/forms'
 import { ModalFundingComponent } from '../../../record/components/funding-stacks-groups/modals/modal-funding/modal-funding.component'
 import { UserRecord } from 'src/app/types/record.local'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('PanelsComponent', () => {
   let component: PanelsComponent
   let fixture: ComponentFixture<PanelsComponent>
@@ -55,6 +57,7 @@ describe('PanelsComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   }))
 
diff --git a/src/app/cdk/panel/sort-label.pipe.spec.ts b/src/app/cdk/panel/sort-label.pipe.spec.ts
index e2c7c82e70..9aed09940b 100644
--- a/src/app/cdk/panel/sort-label.pipe.spec.ts
+++ b/src/app/cdk/panel/sort-label.pipe.spec.ts
@@ -1,5 +1,7 @@
 import { SortLabelPipe } from './sort-label.pipe'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SortLabelPipe', () => {
   it('create an instance', () => {
     const pipe = new SortLabelPipe()
diff --git a/src/app/cdk/platform-info/platform-info.service.spec.ts b/src/app/cdk/platform-info/platform-info.service.spec.ts
index af9973d0c9..a41d868a4a 100644
--- a/src/app/cdk/platform-info/platform-info.service.spec.ts
+++ b/src/app/cdk/platform-info/platform-info.service.spec.ts
@@ -6,6 +6,8 @@ import { RouterTestingModule } from '@angular/router/testing'
 import { WINDOW_PROVIDERS } from '../window'
 import { Platform } from '@angular/cdk/platform'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('PlatformInfoService', () => {
   beforeEach(() =>
     TestBed.configureTestingModule({
diff --git a/src/app/cdk/recaptcha/recaptcha.directive.spec.ts b/src/app/cdk/recaptcha/recaptcha.directive.spec.ts
index af81f25bf5..2a71e4cd52 100644
--- a/src/app/cdk/recaptcha/recaptcha.directive.spec.ts
+++ b/src/app/cdk/recaptcha/recaptcha.directive.spec.ts
@@ -1,5 +1,7 @@
 import { RecaptchaDirective } from './recaptcha.directive'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('RecaptchaDirective', () => {
   it('should create an instance', () => {
     const directive = new RecaptchaDirective(null, null, null, null, null)
diff --git a/src/app/cdk/side-bar/modals/modal-country/modal-country.component.spec.ts b/src/app/cdk/side-bar/modals/modal-country/modal-country.component.spec.ts
index 7169a18a2d..6ffde09d02 100644
--- a/src/app/cdk/side-bar/modals/modal-country/modal-country.component.spec.ts
+++ b/src/app/cdk/side-bar/modals/modal-country/modal-country.component.spec.ts
@@ -32,6 +32,8 @@ import { MatLegacySelectHarness as MatSelectHarness } from '@angular/material/le
 import { MatLegacyInputHarness as MatInputHarness } from '@angular/material/legacy-input/testing'
 import { VisibilitySelectorModule } from 'src/app/cdk/visibility-selector/visibility-selector.module'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('ModalCountryComponent', () => {
   let component: ModalCountryComponent
   let fixture: ComponentFixture<ModalCountryComponent>
@@ -67,6 +69,7 @@ describe('ModalCountryComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/cdk/side-bar/modals/modal-email/modal-email.component.spec.ts b/src/app/cdk/side-bar/modals/modal-email/modal-email.component.spec.ts
index 00e7ca8375..8524cf4077 100644
--- a/src/app/cdk/side-bar/modals/modal-email/modal-email.component.spec.ts
+++ b/src/app/cdk/side-bar/modals/modal-email/modal-email.component.spec.ts
@@ -16,6 +16,9 @@ import {
 import { Overlay } from '@angular/cdk/overlay'
 import { AlertMessageModule } from 'src/app/cdk/alert-message/alert-message.module'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+import { ReactiveFormsModule } from '@angular/forms'
+
 describe('ModalEmailComponent', () => {
   let component: ModalEmailComponent
   let fixture: ComponentFixture<ModalEmailComponent>
@@ -26,6 +29,7 @@ describe('ModalEmailComponent', () => {
         HttpClientTestingModule,
         RouterTestingModule,
         AlertMessageModule,
+        ReactiveFormsModule,
       ],
       declarations: [ModalEmailComponent],
       providers: [
@@ -39,6 +43,7 @@ describe('ModalEmailComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/cdk/side-bar/modals/modal-keyword/modal-keyword.component.spec.ts b/src/app/cdk/side-bar/modals/modal-keyword/modal-keyword.component.spec.ts
index 30d91cd17a..2871cb1887 100644
--- a/src/app/cdk/side-bar/modals/modal-keyword/modal-keyword.component.spec.ts
+++ b/src/app/cdk/side-bar/modals/modal-keyword/modal-keyword.component.spec.ts
@@ -17,13 +17,20 @@ import { Overlay } from '@angular/cdk/overlay'
 import { RecordKeywordService } from '../../../../core/record-keyword/record-keyword.service'
 import { UserService } from '../../../../core'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+import { ReactiveFormsModule, UntypedFormGroup } from '@angular/forms'
+
 describe('ModalKeywordComponent', () => {
   let component: ModalKeywordComponent
   let fixture: ComponentFixture<ModalKeywordComponent>
 
   beforeEach(waitForAsync(() => {
     TestBed.configureTestingModule({
-      imports: [HttpClientTestingModule, RouterTestingModule],
+      imports: [
+        HttpClientTestingModule,
+        RouterTestingModule,
+        ReactiveFormsModule,
+      ],
       declarations: [ModalKeywordComponent],
       providers: [
         { provide: MatDialogRef, useValue: {} },
@@ -38,16 +45,18 @@ describe('ModalKeywordComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   }))
 
   beforeEach(() => {
     fixture = TestBed.createComponent(ModalKeywordComponent)
     component = fixture.componentInstance
+    component.keywordsForm = new UntypedFormGroup({})
     fixture.detectChanges()
   })
 
-  it('should create', () => {
+  fit('should create', () => {
     expect(component).toBeTruthy()
   })
 })
diff --git a/src/app/cdk/side-bar/modals/modal-person-identifiers/modal-person-identifiers.component.spec.ts b/src/app/cdk/side-bar/modals/modal-person-identifiers/modal-person-identifiers.component.spec.ts
index 2877b76e7c..de5a06c773 100644
--- a/src/app/cdk/side-bar/modals/modal-person-identifiers/modal-person-identifiers.component.spec.ts
+++ b/src/app/cdk/side-bar/modals/modal-person-identifiers/modal-person-identifiers.component.spec.ts
@@ -16,13 +16,20 @@ import {
 import { Overlay } from '@angular/cdk/overlay'
 import { RecordPersonIdentifierService } from '../../../../core/record-personal-identifiers/record-person-identifier.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+import { ReactiveFormsModule } from '@angular/forms'
+
 describe('ModalPersonIdentifiersComponent', () => {
   let component: ModalPersonIdentifiersComponent
   let fixture: ComponentFixture<ModalPersonIdentifiersComponent>
 
   beforeEach(waitForAsync(() => {
     TestBed.configureTestingModule({
-      imports: [HttpClientTestingModule, RouterTestingModule],
+      imports: [
+        HttpClientTestingModule,
+        RouterTestingModule,
+        ReactiveFormsModule,
+      ],
       declarations: [ModalPersonIdentifiersComponent],
       providers: [
         { provide: MatDialogRef, useValue: {} },
@@ -36,6 +43,7 @@ describe('ModalPersonIdentifiersComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   }))
 
diff --git a/src/app/cdk/side-bar/modals/modal-websites/modal-websites.component.spec.ts b/src/app/cdk/side-bar/modals/modal-websites/modal-websites.component.spec.ts
index 37199c18e5..bf839e9764 100644
--- a/src/app/cdk/side-bar/modals/modal-websites/modal-websites.component.spec.ts
+++ b/src/app/cdk/side-bar/modals/modal-websites/modal-websites.component.spec.ts
@@ -17,13 +17,20 @@ import { Overlay } from '@angular/cdk/overlay'
 import { UserService } from '../../../../core'
 import { RecordWebsitesService } from '../../../../core/record-websites/record-websites.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+import { ReactiveFormsModule, UntypedFormGroup } from '@angular/forms'
+
 describe('ModalWebsitesComponent', () => {
   let component: ModalWebsitesComponent
   let fixture: ComponentFixture<ModalWebsitesComponent>
 
   beforeEach(waitForAsync(() => {
     TestBed.configureTestingModule({
-      imports: [HttpClientTestingModule, RouterTestingModule],
+      imports: [
+        HttpClientTestingModule,
+        RouterTestingModule,
+        ReactiveFormsModule,
+      ],
       declarations: [ModalWebsitesComponent],
       providers: [
         { provide: MatDialogRef, useValue: {} },
@@ -38,12 +45,14 @@ describe('ModalWebsitesComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   }))
 
   beforeEach(() => {
     fixture = TestBed.createComponent(ModalWebsitesComponent)
     component = fixture.componentInstance
+    component.websitesForm = new UntypedFormGroup({})
     fixture.detectChanges()
   })
 
diff --git a/src/app/cdk/side-bar/modals/source-hit/source-hit.component.spec.ts b/src/app/cdk/side-bar/modals/source-hit/source-hit.component.spec.ts
index 3c67dc20e3..2507ba1384 100644
--- a/src/app/cdk/side-bar/modals/source-hit/source-hit.component.spec.ts
+++ b/src/app/cdk/side-bar/modals/source-hit/source-hit.component.spec.ts
@@ -3,6 +3,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 import { SourceHitComponent } from './source-hit.component'
 import { SharedModule } from '../../../../shared/shared.module'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SourceHitComponent', () => {
   let component: SourceHitComponent
   let fixture: ComponentFixture<SourceHitComponent>
@@ -11,6 +13,7 @@ describe('SourceHitComponent', () => {
     await TestBed.configureTestingModule({
       imports: [SharedModule],
       declarations: [SourceHitComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/cdk/side-bar/side-bar-id/side-bar-id.component.spec.ts b/src/app/cdk/side-bar/side-bar-id/side-bar-id.component.spec.ts
index 17ffd2e11f..7a079b56d2 100644
--- a/src/app/cdk/side-bar/side-bar-id/side-bar-id.component.spec.ts
+++ b/src/app/cdk/side-bar/side-bar-id/side-bar-id.component.spec.ts
@@ -12,6 +12,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SideBarIdComponent', () => {
   let component: SideBarIdComponent
   let fixture: ComponentFixture<SideBarIdComponent>
@@ -29,6 +31,7 @@ describe('SideBarIdComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/cdk/side-bar/side-bar/side-bar.component.spec.ts b/src/app/cdk/side-bar/side-bar/side-bar.component.spec.ts
index f5d2f7084a..7fdda05883 100644
--- a/src/app/cdk/side-bar/side-bar/side-bar.component.spec.ts
+++ b/src/app/cdk/side-bar/side-bar/side-bar.component.spec.ts
@@ -14,6 +14,8 @@ import { Overlay } from '@angular/cdk/overlay'
 import { RecordService } from '../../../core/record/record.service'
 import { UserService } from '../../../core'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SideBarComponent', () => {
   let component: SideBarComponent
   let fixture: ComponentFixture<SideBarComponent>
@@ -33,6 +35,7 @@ describe('SideBarComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/cdk/snackbar/snackbar.service.spec.ts b/src/app/cdk/snackbar/snackbar.service.spec.ts
index ffe5493cc6..c27fd5c004 100644
--- a/src/app/cdk/snackbar/snackbar.service.spec.ts
+++ b/src/app/cdk/snackbar/snackbar.service.spec.ts
@@ -10,6 +10,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SnackbarService', () => {
   beforeEach(() =>
     TestBed.configureTestingModule({
diff --git a/src/app/cdk/snackbar/snackbar/snackbar.component.spec.ts b/src/app/cdk/snackbar/snackbar/snackbar.component.spec.ts
index 8d607e75bd..4890db2739 100644
--- a/src/app/cdk/snackbar/snackbar/snackbar.component.spec.ts
+++ b/src/app/cdk/snackbar/snackbar/snackbar.component.spec.ts
@@ -15,6 +15,8 @@ import {
 } from '@angular/material/legacy-snack-bar'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SnackbarComponent', () => {
   let component: SnackbarComponent
   let fixture: ComponentFixture<SnackbarComponent>
@@ -34,6 +36,7 @@ describe('SnackbarComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/cdk/top-bar-my-public-record-preview/top-bar-my-public-record-preview/top-bar-my-public-record-preview.component.spec.ts b/src/app/cdk/top-bar-my-public-record-preview/top-bar-my-public-record-preview/top-bar-my-public-record-preview.component.spec.ts
index bdfeb8fb10..b2ca38b7c2 100644
--- a/src/app/cdk/top-bar-my-public-record-preview/top-bar-my-public-record-preview/top-bar-my-public-record-preview.component.spec.ts
+++ b/src/app/cdk/top-bar-my-public-record-preview/top-bar-my-public-record-preview/top-bar-my-public-record-preview.component.spec.ts
@@ -13,6 +13,8 @@ import { Overlay } from '@angular/cdk/overlay'
 import { TrustedIndividualsService } from '../../../core/trusted-individuals/trusted-individuals.service'
 import { UserService } from '../../../core'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('TopBarMyPublicRecordPreviewComponent', () => {
   let component: TopBarMyPublicRecordPreviewComponent
   let fixture: ComponentFixture<TopBarMyPublicRecordPreviewComponent>
@@ -32,6 +34,7 @@ describe('TopBarMyPublicRecordPreviewComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/cdk/top-bar-verification-email/modals/top-bar-verification-email-modal/top-bar-verification-email-modal.component.spec.ts b/src/app/cdk/top-bar-verification-email/modals/top-bar-verification-email-modal/top-bar-verification-email-modal.component.spec.ts
index f7274f43fa..71054ab1b6 100644
--- a/src/app/cdk/top-bar-verification-email/modals/top-bar-verification-email-modal/top-bar-verification-email-modal.component.spec.ts
+++ b/src/app/cdk/top-bar-verification-email/modals/top-bar-verification-email-modal/top-bar-verification-email-modal.component.spec.ts
@@ -17,6 +17,8 @@ import { WINDOW_PROVIDERS } from 'src/app/cdk/window'
 import { ErrorHandlerService } from 'src/app/core/error-handler/error-handler.service'
 import { RecordEmailsService } from 'src/app/core/record-emails/record-emails.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('TopBarVerificationEmailModalComponent', () => {
   let component: TopBarVerificationEmailModalComponent
   let fixture: ComponentFixture<TopBarVerificationEmailModalComponent>
@@ -37,6 +39,7 @@ describe('TopBarVerificationEmailModalComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/cdk/top-bar-verification-email/top-bar-verification-email.component.spec.ts b/src/app/cdk/top-bar-verification-email/top-bar-verification-email.component.spec.ts
index fe2f3c8054..c16de1585e 100644
--- a/src/app/cdk/top-bar-verification-email/top-bar-verification-email.component.spec.ts
+++ b/src/app/cdk/top-bar-verification-email/top-bar-verification-email.component.spec.ts
@@ -19,6 +19,8 @@ import { PlatformInfoService } from '../platform-info'
 import { SnackbarService } from '../snackbar/snackbar.service'
 import { WINDOW_PROVIDERS } from '../window'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('TopBarVerificationEmailComponent', () => {
   let component: TopBarVerificationEmailComponent
   let fixture: ComponentFixture<TopBarVerificationEmailComponent>
@@ -45,6 +47,7 @@ describe('TopBarVerificationEmailComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/cdk/trusted-individuals-dropdown/trusted-individuals-dropdown.component.spec.ts b/src/app/cdk/trusted-individuals-dropdown/trusted-individuals-dropdown.component.spec.ts
index 76be25b459..b8b5a93304 100644
--- a/src/app/cdk/trusted-individuals-dropdown/trusted-individuals-dropdown.component.spec.ts
+++ b/src/app/cdk/trusted-individuals-dropdown/trusted-individuals-dropdown.component.spec.ts
@@ -5,6 +5,8 @@ import { HttpClientTestingModule } from '@angular/common/http/testing'
 import { RouterTestingModule } from '@angular/router/testing'
 import { MatLegacyMenuModule as MatMenuModule } from '@angular/material/legacy-menu'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('TrustedIndividualsDropdownComponent', () => {
   let component: TrustedIndividualsDropdownComponent
   let fixture: ComponentFixture<TrustedIndividualsDropdownComponent>
@@ -13,6 +15,7 @@ describe('TrustedIndividualsDropdownComponent', () => {
     TestBed.configureTestingModule({
       imports: [MatMenuModule],
       declarations: [TrustedIndividualsDropdownComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/cdk/trusted-summary/component/summary-panel/summary-panel.component.spec.ts b/src/app/cdk/trusted-summary/component/summary-panel/summary-panel.component.spec.ts
index 6b4729456e..c8590201e3 100644
--- a/src/app/cdk/trusted-summary/component/summary-panel/summary-panel.component.spec.ts
+++ b/src/app/cdk/trusted-summary/component/summary-panel/summary-panel.component.spec.ts
@@ -3,6 +3,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 import { SummaryPanelComponent } from './summary-panel.component'
 import { WINDOW_PROVIDERS } from 'src/app/cdk/window'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SummaryPanelComponent', () => {
   let component: SummaryPanelComponent
   let fixture: ComponentFixture<SummaryPanelComponent>
@@ -11,6 +13,7 @@ describe('SummaryPanelComponent', () => {
     await TestBed.configureTestingModule({
       declarations: [SummaryPanelComponent],
       providers: [WINDOW_PROVIDERS],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
 
     fixture = TestBed.createComponent(SummaryPanelComponent)
diff --git a/src/app/cdk/trusted-summary/component/summary-simple-panel/summary-simple-panel.component.spec.ts b/src/app/cdk/trusted-summary/component/summary-simple-panel/summary-simple-panel.component.spec.ts
index 8e9adc20c4..a7e5437b26 100644
--- a/src/app/cdk/trusted-summary/component/summary-simple-panel/summary-simple-panel.component.spec.ts
+++ b/src/app/cdk/trusted-summary/component/summary-simple-panel/summary-simple-panel.component.spec.ts
@@ -3,6 +3,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 import { SummarySimplePanelComponent } from './summary-simple-panel.component'
 import { WINDOW_PROVIDERS } from 'src/app/cdk/window'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SummarySimplePanelComponent', () => {
   let component: SummarySimplePanelComponent
   let fixture: ComponentFixture<SummarySimplePanelComponent>
@@ -11,6 +13,7 @@ describe('SummarySimplePanelComponent', () => {
     await TestBed.configureTestingModule({
       declarations: [SummarySimplePanelComponent],
       providers: [WINDOW_PROVIDERS],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
 
     fixture = TestBed.createComponent(SummarySimplePanelComponent)
diff --git a/src/app/cdk/trusted-summary/component/trusted-summary/trusted-summary.component.spec.ts b/src/app/cdk/trusted-summary/component/trusted-summary/trusted-summary.component.spec.ts
index b416d16b59..74699deaef 100644
--- a/src/app/cdk/trusted-summary/component/trusted-summary/trusted-summary.component.spec.ts
+++ b/src/app/cdk/trusted-summary/component/trusted-summary/trusted-summary.component.spec.ts
@@ -9,6 +9,8 @@ import { of } from 'rxjs'
 import { ZendeskService } from 'src/app/core/zendesk/zendesk.service'
 import { WINDOW } from 'src/app/cdk/window'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('TrustedSummaryComponent', () => {
   let component: TrustedSummaryComponent
   let fixture: ComponentFixture<TrustedSummaryComponent>
@@ -30,6 +32,7 @@ describe('TrustedSummaryComponent', () => {
         { provide: WINDOW, useValue: {} },
       ],
       imports: [HttpClientTestingModule],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
 
     fixture = TestBed.createComponent(TrustedSummaryComponent)
diff --git a/src/app/cdk/two-factor-authentication-form/two-factor/two-factor-authentication-form.component.spec.ts b/src/app/cdk/two-factor-authentication-form/two-factor/two-factor-authentication-form.component.spec.ts
index d75f910cb0..904b7d1a75 100644
--- a/src/app/cdk/two-factor-authentication-form/two-factor/two-factor-authentication-form.component.spec.ts
+++ b/src/app/cdk/two-factor-authentication-form/two-factor/two-factor-authentication-form.component.spec.ts
@@ -2,14 +2,19 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 import { TwoFactorAuthenticationFormComponent } from './two-factor-authentication-form.component'
 import { WINDOW_PROVIDERS } from '../../window'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+import { ReactiveFormsModule } from '@angular/forms'
+
 describe('TwoFactorAuthenticationFormComponent', () => {
   let component: TwoFactorAuthenticationFormComponent
   let fixture: ComponentFixture<TwoFactorAuthenticationFormComponent>
 
   beforeEach(() => {
     TestBed.configureTestingModule({
+      imports: [ReactiveFormsModule],
       declarations: [TwoFactorAuthenticationFormComponent],
       providers: [WINDOW_PROVIDERS],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/cdk/visibility-selector/visibility-selector/visibility-selector.component.spec.ts b/src/app/cdk/visibility-selector/visibility-selector/visibility-selector.component.spec.ts
index a2bbc22912..b5986c3bd7 100644
--- a/src/app/cdk/visibility-selector/visibility-selector/visibility-selector.component.spec.ts
+++ b/src/app/cdk/visibility-selector/visibility-selector/visibility-selector.component.spec.ts
@@ -5,6 +5,8 @@ import { MatLegacyMenuModule as MatMenuModule } from '@angular/material/legacy-m
 import { MatLegacyButtonModule as MatButtonModule } from '@angular/material/legacy-button'
 import { WINDOW_PROVIDERS } from '../../window'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('VisibilitySelectorComponent', () => {
   let component: VisibilitySelectorComponent
   let fixture: ComponentFixture<VisibilitySelectorComponent>
@@ -14,6 +16,7 @@ describe('VisibilitySelectorComponent', () => {
       declarations: [VisibilitySelectorComponent],
       imports: [MatMenuModule, MatButtonModule],
       providers: [WINDOW_PROVIDERS],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
 
     fixture = TestBed.createComponent(VisibilitySelectorComponent)
diff --git a/src/app/cdk/warning-message/warning-message/warning-message.component.spec.ts b/src/app/cdk/warning-message/warning-message/warning-message.component.spec.ts
index 33415e2e0b..c871887f46 100644
--- a/src/app/cdk/warning-message/warning-message/warning-message.component.spec.ts
+++ b/src/app/cdk/warning-message/warning-message/warning-message.component.spec.ts
@@ -11,6 +11,8 @@ import { SnackbarService } from '../../snackbar/snackbar.service'
 import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('WarningMessageComponent', () => {
   let component: WarningMessageComponent
   let fixture: ComponentFixture<WarningMessageComponent>
@@ -28,6 +30,7 @@ describe('WarningMessageComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/core/account-actions-deactivate/account-actions-deactivate.service.spec.ts b/src/app/core/account-actions-deactivate/account-actions-deactivate.service.spec.ts
index 45f0388f0c..871b0cc73d 100644
--- a/src/app/core/account-actions-deactivate/account-actions-deactivate.service.spec.ts
+++ b/src/app/core/account-actions-deactivate/account-actions-deactivate.service.spec.ts
@@ -11,6 +11,8 @@ import { SnackbarService } from '../../cdk/snackbar/snackbar.service'
 import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('AccountActionsDeactivateService', () => {
   let service: AccountActionsDeactivateService
 
diff --git a/src/app/core/account-actions-download/account-actions-download.service.spec.ts b/src/app/core/account-actions-download/account-actions-download.service.spec.ts
index a2a2ff56f6..138917f602 100644
--- a/src/app/core/account-actions-download/account-actions-download.service.spec.ts
+++ b/src/app/core/account-actions-download/account-actions-download.service.spec.ts
@@ -11,6 +11,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('AccountActionsDownloadService', () => {
   let service: AccountActionsDownloadService
 
diff --git a/src/app/core/account-actions-duplicated/account-actions-duplicated.service.spec.ts b/src/app/core/account-actions-duplicated/account-actions-duplicated.service.spec.ts
index d113df5aab..ae41127cec 100644
--- a/src/app/core/account-actions-duplicated/account-actions-duplicated.service.spec.ts
+++ b/src/app/core/account-actions-duplicated/account-actions-duplicated.service.spec.ts
@@ -11,6 +11,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('AccountActionsDuplicatedService', () => {
   let service: AccountActionsDuplicatedService
 
diff --git a/src/app/core/account-default-email-frequencies/account-default-email-frequencies.service.spec.ts b/src/app/core/account-default-email-frequencies/account-default-email-frequencies.service.spec.ts
index ab7edc68b5..366b0231dd 100644
--- a/src/app/core/account-default-email-frequencies/account-default-email-frequencies.service.spec.ts
+++ b/src/app/core/account-default-email-frequencies/account-default-email-frequencies.service.spec.ts
@@ -11,6 +11,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('AccountDefaultEmailFrequenciesService', () => {
   let service: AccountDefaultEmailFrequenciesService
 
diff --git a/src/app/core/account-default-visibility/account-default-visibility.service.spec.ts b/src/app/core/account-default-visibility/account-default-visibility.service.spec.ts
index 58d2e1f639..a245a789eb 100644
--- a/src/app/core/account-default-visibility/account-default-visibility.service.spec.ts
+++ b/src/app/core/account-default-visibility/account-default-visibility.service.spec.ts
@@ -11,6 +11,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('AccountDefaultVisibilityService', () => {
   let service: AccountDefaultVisibilityService
 
diff --git a/src/app/core/account-security-alternate-sign-in/account-security-alternate-sign-in.service.spec.ts b/src/app/core/account-security-alternate-sign-in/account-security-alternate-sign-in.service.spec.ts
index 0365bf1488..4e6136b521 100644
--- a/src/app/core/account-security-alternate-sign-in/account-security-alternate-sign-in.service.spec.ts
+++ b/src/app/core/account-security-alternate-sign-in/account-security-alternate-sign-in.service.spec.ts
@@ -11,6 +11,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('AccountSecurityAlternateSignInService', () => {
   let service: AccountSecurityAlternateSignInService
 
diff --git a/src/app/core/account-security-password/account-security-password.service.spec.ts b/src/app/core/account-security-password/account-security-password.service.spec.ts
index abef2dc301..2f66189221 100644
--- a/src/app/core/account-security-password/account-security-password.service.spec.ts
+++ b/src/app/core/account-security-password/account-security-password.service.spec.ts
@@ -11,6 +11,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('AccountSecurityPasswordService', () => {
   let service: AccountSecurityPasswordService
 
diff --git a/src/app/core/account-trusted-individuals/account-trusted-individuals.service.spec.ts b/src/app/core/account-trusted-individuals/account-trusted-individuals.service.spec.ts
index eb56775d6d..e343fc9a61 100644
--- a/src/app/core/account-trusted-individuals/account-trusted-individuals.service.spec.ts
+++ b/src/app/core/account-trusted-individuals/account-trusted-individuals.service.spec.ts
@@ -10,6 +10,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('AccountTrustedIndividualsService', () => {
   let service: AccountTrustedIndividualsService
 
diff --git a/src/app/core/account-trusted-organizations/account-trusted-organizations.service.spec.ts b/src/app/core/account-trusted-organizations/account-trusted-organizations.service.spec.ts
index c0ba240f7d..b9345b057a 100644
--- a/src/app/core/account-trusted-organizations/account-trusted-organizations.service.spec.ts
+++ b/src/app/core/account-trusted-organizations/account-trusted-organizations.service.spec.ts
@@ -11,6 +11,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('AccountTrustedOrganizationsService', () => {
   let service: AccountTrustedOrganizationsService
 
diff --git a/src/app/core/announcer/announcer.service.spec.ts b/src/app/core/announcer/announcer.service.spec.ts
index dce7470a7c..cb0670e73d 100644
--- a/src/app/core/announcer/announcer.service.spec.ts
+++ b/src/app/core/announcer/announcer.service.spec.ts
@@ -2,6 +2,8 @@ import { TestBed } from '@angular/core/testing'
 
 import { AnnouncerService } from './announcer.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('AnnouncerService', () => {
   let service: AnnouncerService
 
diff --git a/src/app/core/canonocal-url/canonocal-url.service.spec.ts b/src/app/core/canonocal-url/canonocal-url.service.spec.ts
index c8d5348657..ba49006286 100644
--- a/src/app/core/canonocal-url/canonocal-url.service.spec.ts
+++ b/src/app/core/canonocal-url/canonocal-url.service.spec.ts
@@ -2,6 +2,8 @@ import { TestBed } from '@angular/core/testing'
 
 import { CanonocalUrlService } from './canonocal-url.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('CanonocalUrlService', () => {
   let service: CanonocalUrlService
 
diff --git a/src/app/core/core.module.spec.ts b/src/app/core/core.module.spec.ts
index 9b68399d86..788e3b7ffa 100644
--- a/src/app/core/core.module.spec.ts
+++ b/src/app/core/core.module.spec.ts
@@ -1,5 +1,7 @@
 import { CoreModule } from './core.module'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('CoreModule', () => {
   let coreModule: CoreModule
 
diff --git a/src/app/core/crazy-egg/script.service.spec.ts b/src/app/core/crazy-egg/script.service.spec.ts
index e63e24d58d..8b852615bb 100644
--- a/src/app/core/crazy-egg/script.service.spec.ts
+++ b/src/app/core/crazy-egg/script.service.spec.ts
@@ -2,6 +2,8 @@ import { TestBed } from '@angular/core/testing'
 
 import { ScriptService } from './script.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('ScriptService', () => {
   let service: ScriptService
 
diff --git a/src/app/core/developer-tools/developer-tools.service.spec.ts b/src/app/core/developer-tools/developer-tools.service.spec.ts
index b913bb6b7c..8275a8fe47 100644
--- a/src/app/core/developer-tools/developer-tools.service.spec.ts
+++ b/src/app/core/developer-tools/developer-tools.service.spec.ts
@@ -4,6 +4,8 @@ import { DeveloperToolsService } from './developer-tools.service'
 import { HttpClientTestingModule } from '@angular/common/http/testing'
 import { ErrorHandlerService } from '../error-handler/error-handler.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('DeveloperToolsService', () => {
   let service: DeveloperToolsService
 
diff --git a/src/app/core/disco/disco.service.spec.ts b/src/app/core/disco/disco.service.spec.ts
index 17cd67e1b0..2435a9cca4 100644
--- a/src/app/core/disco/disco.service.spec.ts
+++ b/src/app/core/disco/disco.service.spec.ts
@@ -11,6 +11,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('DiscoService', () => {
   let service: DiscoService
 
diff --git a/src/app/core/error-handler/error-handler.service.spec.ts b/src/app/core/error-handler/error-handler.service.spec.ts
index 28a06447c3..33ae461f66 100644
--- a/src/app/core/error-handler/error-handler.service.spec.ts
+++ b/src/app/core/error-handler/error-handler.service.spec.ts
@@ -10,6 +10,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('ErrorHandlerService', () => {
   beforeEach(() =>
     TestBed.configureTestingModule({
diff --git a/src/app/core/google-tag-manager/google-tag-manager.service.spec.ts b/src/app/core/google-tag-manager/google-tag-manager.service.spec.ts
index 311d40faa1..3aacc31296 100644
--- a/src/app/core/google-tag-manager/google-tag-manager.service.spec.ts
+++ b/src/app/core/google-tag-manager/google-tag-manager.service.spec.ts
@@ -10,6 +10,8 @@ import { Overlay } from '@angular/cdk/overlay'
 import { RouterTestingModule } from '@angular/router/testing'
 import { WINDOW_PROVIDERS } from '../../cdk/window'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('GoogleTagManagerService', () => {
   let service: GoogleTagManagerService
   const tag: ItemGTM = { event: 'page' }
diff --git a/src/app/core/help-hero/help-hero.service.spec.ts b/src/app/core/help-hero/help-hero.service.spec.ts
index a4e21a5139..3965b3dc1a 100644
--- a/src/app/core/help-hero/help-hero.service.spec.ts
+++ b/src/app/core/help-hero/help-hero.service.spec.ts
@@ -2,6 +2,8 @@ import { TestBed } from '@angular/core/testing'
 import { HelpHeroService } from './help-hero.service'
 import { WINDOW_PROVIDERS } from '../../cdk/window'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('HelpheroService', () => {
   let service: HelpHeroService
 
diff --git a/src/app/core/inbox/inbox.service.spec.ts b/src/app/core/inbox/inbox.service.spec.ts
index c8554215e6..2de511331f 100644
--- a/src/app/core/inbox/inbox.service.spec.ts
+++ b/src/app/core/inbox/inbox.service.spec.ts
@@ -11,6 +11,8 @@ import { SnackbarService } from '../../cdk/snackbar/snackbar.service'
 import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('InboxService', () => {
   let service: InboxService
 
diff --git a/src/app/core/language/language.service.spec.ts b/src/app/core/language/language.service.spec.ts
index 032d9d518c..f227efac85 100644
--- a/src/app/core/language/language.service.spec.ts
+++ b/src/app/core/language/language.service.spec.ts
@@ -13,6 +13,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('LanguageService', () => {
   beforeEach(() =>
     TestBed.configureTestingModule({
diff --git a/src/app/core/news/news.service.spec.ts b/src/app/core/news/news.service.spec.ts
index 0d5930cdf2..b6018215a6 100644
--- a/src/app/core/news/news.service.spec.ts
+++ b/src/app/core/news/news.service.spec.ts
@@ -11,6 +11,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('NewsService', () => {
   beforeEach(() =>
     TestBed.configureTestingModule({
diff --git a/src/app/core/oauth/oauth.service.spec.ts b/src/app/core/oauth/oauth.service.spec.ts
index 318ec7ae6e..7a14a7614f 100644
--- a/src/app/core/oauth/oauth.service.spec.ts
+++ b/src/app/core/oauth/oauth.service.spec.ts
@@ -11,6 +11,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('OauthService', () => {
   let service: OauthService
 
diff --git a/src/app/core/oauth/organizations.service.spec.ts b/src/app/core/oauth/organizations.service.spec.ts
index 1e24edb708..a6173eefd5 100644
--- a/src/app/core/oauth/organizations.service.spec.ts
+++ b/src/app/core/oauth/organizations.service.spec.ts
@@ -11,6 +11,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('OrganizationsService', () => {
   beforeEach(() =>
     TestBed.configureTestingModule({
diff --git a/src/app/core/open-graph/open-graph.service.spec.ts b/src/app/core/open-graph/open-graph.service.spec.ts
index 0fc31be59a..f8d6f3f745 100644
--- a/src/app/core/open-graph/open-graph.service.spec.ts
+++ b/src/app/core/open-graph/open-graph.service.spec.ts
@@ -2,6 +2,8 @@ import { TestBed } from '@angular/core/testing'
 
 import { OpenGraphService } from './open-graph.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('OpenGraphService', () => {
   let service: OpenGraphService
 
diff --git a/src/app/core/organizations/organizations.service.spec.ts b/src/app/core/organizations/organizations.service.spec.ts
index 0d88746280..36c72c7b61 100644
--- a/src/app/core/organizations/organizations.service.spec.ts
+++ b/src/app/core/organizations/organizations.service.spec.ts
@@ -11,6 +11,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('OrganizationsService', () => {
   beforeEach(() =>
     TestBed.configureTestingModule({
diff --git a/src/app/core/password-recovery/password-recovery.service.spec.ts b/src/app/core/password-recovery/password-recovery.service.spec.ts
index eb62b68ce0..cbe7cb7e10 100644
--- a/src/app/core/password-recovery/password-recovery.service.spec.ts
+++ b/src/app/core/password-recovery/password-recovery.service.spec.ts
@@ -11,6 +11,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('PasswordRecoveryService', () => {
   beforeEach(() =>
     TestBed.configureTestingModule({
diff --git a/src/app/core/reactivation/reactivation.service.spec.ts b/src/app/core/reactivation/reactivation.service.spec.ts
index d6efd18230..439f974063 100644
--- a/src/app/core/reactivation/reactivation.service.spec.ts
+++ b/src/app/core/reactivation/reactivation.service.spec.ts
@@ -4,6 +4,8 @@ import { ReactivationService } from './reactivation.service'
 import { HttpClientTestingModule } from '@angular/common/http/testing'
 import { RouterTestingModule } from '@angular/router/testing'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('ReactivationService', () => {
   let service: ReactivationService
 
diff --git a/src/app/core/record-affiliations-affiliations-grouping/record-affiliations-grouping.service.spec.ts b/src/app/core/record-affiliations-affiliations-grouping/record-affiliations-grouping.service.spec.ts
index b992027e06..44006542db 100644
--- a/src/app/core/record-affiliations-affiliations-grouping/record-affiliations-grouping.service.spec.ts
+++ b/src/app/core/record-affiliations-affiliations-grouping/record-affiliations-grouping.service.spec.ts
@@ -2,6 +2,8 @@ import { TestBed } from '@angular/core/testing'
 
 import { RecordAffiliationsGroupingService } from './record-affiliations-grouping.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('RecordAffiliationsGroupingService', () => {
   beforeEach(() => TestBed.configureTestingModule({}))
 
diff --git a/src/app/core/record-affiliations-sort/record-affiliations-sort.service.spec.ts b/src/app/core/record-affiliations-sort/record-affiliations-sort.service.spec.ts
index e498c0c093..bedf27467e 100644
--- a/src/app/core/record-affiliations-sort/record-affiliations-sort.service.spec.ts
+++ b/src/app/core/record-affiliations-sort/record-affiliations-sort.service.spec.ts
@@ -2,6 +2,8 @@ import { TestBed } from '@angular/core/testing'
 
 import { AffiliationsSortService } from './record-affiliations-sort.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('AffiliationsSortService', () => {
   beforeEach(() => TestBed.configureTestingModule({}))
 
diff --git a/src/app/core/record-affiliations/record-affiliations.service.spec.ts b/src/app/core/record-affiliations/record-affiliations.service.spec.ts
index 49fea51611..ec5042e875 100644
--- a/src/app/core/record-affiliations/record-affiliations.service.spec.ts
+++ b/src/app/core/record-affiliations/record-affiliations.service.spec.ts
@@ -20,6 +20,8 @@ import {
   AffiliationUIGroup,
 } from '../../types/record-affiliation.endpoint'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('AffiliationsService', () => {
   beforeEach(() =>
     TestBed.configureTestingModule({
diff --git a/src/app/core/record-biography/record-biography.service.spec.ts b/src/app/core/record-biography/record-biography.service.spec.ts
index e074b4d4a3..a55662a92a 100644
--- a/src/app/core/record-biography/record-biography.service.spec.ts
+++ b/src/app/core/record-biography/record-biography.service.spec.ts
@@ -12,6 +12,8 @@ import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 import { BiographyEndPoint } from '../../types/record-biography.endpoint'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('RecordBiographyService', () => {
   let service: RecordBiographyService
 
diff --git a/src/app/core/record-countries/record-countries.service.spec.ts b/src/app/core/record-countries/record-countries.service.spec.ts
index 6480cddf8a..825d1dc228 100644
--- a/src/app/core/record-countries/record-countries.service.spec.ts
+++ b/src/app/core/record-countries/record-countries.service.spec.ts
@@ -11,6 +11,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('RecordCountriesService', () => {
   let service: RecordCountriesService
 
diff --git a/src/app/core/record-emails/record-emails.service.spec.ts b/src/app/core/record-emails/record-emails.service.spec.ts
index d1a1a56149..1457039220 100644
--- a/src/app/core/record-emails/record-emails.service.spec.ts
+++ b/src/app/core/record-emails/record-emails.service.spec.ts
@@ -12,6 +12,8 @@ import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 import { RecordPublicSideBarService } from '../record-public-side-bar/record-public-side-bar.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('RecordEmailsService', () => {
   let service: RecordEmailsService
 
diff --git a/src/app/core/record-fundings/record-fundings.service.spec.ts b/src/app/core/record-fundings/record-fundings.service.spec.ts
index 18a1ed2aa1..55d7926a71 100644
--- a/src/app/core/record-fundings/record-fundings.service.spec.ts
+++ b/src/app/core/record-fundings/record-fundings.service.spec.ts
@@ -16,6 +16,8 @@ import {
   FundingTypes,
 } from '../../types/record-funding.endpoint'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('FundingService', () => {
   beforeEach(() =>
     TestBed.configureTestingModule({
diff --git a/src/app/core/record-keyword/record-keyword.service.spec.ts b/src/app/core/record-keyword/record-keyword.service.spec.ts
index 47f3958214..16821beb18 100644
--- a/src/app/core/record-keyword/record-keyword.service.spec.ts
+++ b/src/app/core/record-keyword/record-keyword.service.spec.ts
@@ -11,6 +11,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('RecordKeywordService', () => {
   let service: RecordKeywordService
 
diff --git a/src/app/core/record-names/record-names.service.spec.ts b/src/app/core/record-names/record-names.service.spec.ts
index 40085a511e..15ab97ec1f 100644
--- a/src/app/core/record-names/record-names.service.spec.ts
+++ b/src/app/core/record-names/record-names.service.spec.ts
@@ -12,6 +12,8 @@ import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 import { NamesEndPoint } from '../../types/record-name.endpoint'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('RecordNamesService', () => {
   let service: RecordNamesService
 
diff --git a/src/app/core/record-other-names/record-other-names.service.spec.ts b/src/app/core/record-other-names/record-other-names.service.spec.ts
index 651ea66068..4201c72a90 100644
--- a/src/app/core/record-other-names/record-other-names.service.spec.ts
+++ b/src/app/core/record-other-names/record-other-names.service.spec.ts
@@ -13,6 +13,8 @@ import { HttpClientTestingModule } from '@angular/common/http/testing'
 import { OtherNamesEndPoint } from '../../types/record-other-names.endpoint'
 import { Assertion } from '../../types'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('RecordOtherNamesService', () => {
   let service: RecordOtherNamesService
 
diff --git a/src/app/core/record-peer-review/record-peer-review.service.spec.ts b/src/app/core/record-peer-review/record-peer-review.service.spec.ts
index 083a072ef5..3975cec20d 100644
--- a/src/app/core/record-peer-review/record-peer-review.service.spec.ts
+++ b/src/app/core/record-peer-review/record-peer-review.service.spec.ts
@@ -15,6 +15,8 @@ import {
   PeerReviewDuplicateGroup,
 } from '../../types/record-peer-review.endpoint'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('RecordPeerReviewService', () => {
   let service: RecordPeerReviewService
 
diff --git a/src/app/core/record-person/record-person.service.spec.ts b/src/app/core/record-person/record-person.service.spec.ts
index 4595366292..14a100ada4 100644
--- a/src/app/core/record-person/record-person.service.spec.ts
+++ b/src/app/core/record-person/record-person.service.spec.ts
@@ -11,6 +11,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('RecordPersonService', () => {
   let service: RecordPersonService
 
diff --git a/src/app/core/record-personal-identifiers/record-persona-identifier.service.spec.ts b/src/app/core/record-personal-identifiers/record-persona-identifier.service.spec.ts
index 02ecd52c61..46c1ef4247 100644
--- a/src/app/core/record-personal-identifiers/record-persona-identifier.service.spec.ts
+++ b/src/app/core/record-personal-identifiers/record-persona-identifier.service.spec.ts
@@ -11,6 +11,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('RecordPersonalIdentifiersService', () => {
   let service: RecordPersonIdentifierService
 
diff --git a/src/app/core/record-public-side-bar/record-public-side-bar.service.spec.ts b/src/app/core/record-public-side-bar/record-public-side-bar.service.spec.ts
index 44203450d6..743eb0e30c 100644
--- a/src/app/core/record-public-side-bar/record-public-side-bar.service.spec.ts
+++ b/src/app/core/record-public-side-bar/record-public-side-bar.service.spec.ts
@@ -22,6 +22,8 @@ import { KeywordEndPoint } from '../../types/record-keyword.endpoint'
 import { WebsitesEndPoint } from '../../types/record-websites.endpoint'
 import { getNamesEndPoint } from '../record-names/record-names.service.spec'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('RecordPublicSideBarService', () => {
   let service: RecordPublicSideBarService
 
diff --git a/src/app/core/record-research-resource/record-research-resource.service.spec.ts b/src/app/core/record-research-resource/record-research-resource.service.spec.ts
index 29cdcf8446..8358091805 100644
--- a/src/app/core/record-research-resource/record-research-resource.service.spec.ts
+++ b/src/app/core/record-research-resource/record-research-resource.service.spec.ts
@@ -17,6 +17,8 @@ import {
   ResearchResourcesGroup,
 } from '../../types/record-research-resources.endpoint'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('RecordResearchResourceService', () => {
   let service: RecordResearchResourceService
 
diff --git a/src/app/core/record-websites/record-websites.service.spec.ts b/src/app/core/record-websites/record-websites.service.spec.ts
index 97d9ae1211..d668c7fa28 100644
--- a/src/app/core/record-websites/record-websites.service.spec.ts
+++ b/src/app/core/record-websites/record-websites.service.spec.ts
@@ -11,6 +11,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('RecordWebsitesService', () => {
   let service: RecordWebsitesService
 
diff --git a/src/app/core/record-works/record-works.service.spec.ts b/src/app/core/record-works/record-works.service.spec.ts
index c58383a561..d52b3d15e4 100644
--- a/src/app/core/record-works/record-works.service.spec.ts
+++ b/src/app/core/record-works/record-works.service.spec.ts
@@ -25,6 +25,8 @@ import { of, ReplaySubject } from 'rxjs'
 import { UserService } from '..'
 import { Config } from '../../types/togglz.endpoint'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('RecordWorksService', () => {
   let service: RecordWorksService
   let togglzService: TogglzService
diff --git a/src/app/core/record/record.service.spec.ts b/src/app/core/record/record.service.spec.ts
index 45b4c5f019..1308a0024a 100644
--- a/src/app/core/record/record.service.spec.ts
+++ b/src/app/core/record/record.service.spec.ts
@@ -20,6 +20,8 @@ import { getBiographyEndPoint } from '../record-biography/record-biography.servi
 import { getUserInfo } from '../user-info/user-info.service.spec'
 import { getPeerReviews } from '../record-peer-review/record-peer-review.service.spec'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('RecordService', () => {
   let service: RecordService
 
diff --git a/src/app/core/register/register.service.spec.ts b/src/app/core/register/register.service.spec.ts
index 2c06784d95..06ed3590bd 100644
--- a/src/app/core/register/register.service.spec.ts
+++ b/src/app/core/register/register.service.spec.ts
@@ -11,6 +11,8 @@ import { SnackbarService } from '../../cdk/snackbar/snackbar.service'
 import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('RegisterService', () => {
   beforeEach(() =>
     TestBed.configureTestingModule({
diff --git a/src/app/core/robots-meta-tags/robots-meta-tags.service.spec.ts b/src/app/core/robots-meta-tags/robots-meta-tags.service.spec.ts
index 3438fe7741..2325a61a03 100644
--- a/src/app/core/robots-meta-tags/robots-meta-tags.service.spec.ts
+++ b/src/app/core/robots-meta-tags/robots-meta-tags.service.spec.ts
@@ -2,6 +2,8 @@ import { TestBed } from '@angular/core/testing'
 
 import { RobotsMetaTagsService } from './robots-meta-tags.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('RobotsMetaTagsService', () => {
   let service: RobotsMetaTagsService
 
diff --git a/src/app/core/search/search.service.spec.ts b/src/app/core/search/search.service.spec.ts
index d928c8fc79..aeb08193d1 100644
--- a/src/app/core/search/search.service.spec.ts
+++ b/src/app/core/search/search.service.spec.ts
@@ -11,6 +11,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SearchService', () => {
   beforeEach(() =>
     TestBed.configureTestingModule({
diff --git a/src/app/core/sign-in/sign-in.service.spec.ts b/src/app/core/sign-in/sign-in.service.spec.ts
index f71cf47308..9972836e77 100644
--- a/src/app/core/sign-in/sign-in.service.spec.ts
+++ b/src/app/core/sign-in/sign-in.service.spec.ts
@@ -13,6 +13,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SignInService', () => {
   beforeEach(() =>
     TestBed.configureTestingModule({
diff --git a/src/app/core/title-service/title.service.spec.ts b/src/app/core/title-service/title.service.spec.ts
index 6c51001f70..0acbaa16de 100644
--- a/src/app/core/title-service/title.service.spec.ts
+++ b/src/app/core/title-service/title.service.spec.ts
@@ -2,6 +2,8 @@ import { TestBed } from '@angular/core/testing'
 
 import { TitleService } from './title.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('TitleServiceService', () => {
   let service: TitleService
 
diff --git a/src/app/core/togglz/togglz.directive.spec.ts b/src/app/core/togglz/togglz.directive.spec.ts
index 85a890fc5e..e20ca46bd2 100644
--- a/src/app/core/togglz/togglz.directive.spec.ts
+++ b/src/app/core/togglz/togglz.directive.spec.ts
@@ -1,3 +1,5 @@
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('TogglzDirective', () => {
   it('should create an instance', () => {
     // const directive = new TogglzDirective();
diff --git a/src/app/core/togglz/togglz.service.spec.ts b/src/app/core/togglz/togglz.service.spec.ts
index 2f46bd77ae..16b1af4f04 100644
--- a/src/app/core/togglz/togglz.service.spec.ts
+++ b/src/app/core/togglz/togglz.service.spec.ts
@@ -11,6 +11,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('TogglzService', () => {
   beforeEach(() =>
     TestBed.configureTestingModule({
diff --git a/src/app/core/trusted-individuals/trusted-individuals.service.spec.ts b/src/app/core/trusted-individuals/trusted-individuals.service.spec.ts
index 63580854dc..4859019610 100644
--- a/src/app/core/trusted-individuals/trusted-individuals.service.spec.ts
+++ b/src/app/core/trusted-individuals/trusted-individuals.service.spec.ts
@@ -4,6 +4,8 @@ import { TrustedIndividualsService } from './trusted-individuals.service'
 import { HttpClientTestingModule } from '@angular/common/http/testing'
 import { RouterTestingModule } from '@angular/router/testing'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('TrustedIndividualsService', () => {
   let service: TrustedIndividualsService
 
diff --git a/src/app/core/trusted-summary/trusted-summary.service.spec.ts b/src/app/core/trusted-summary/trusted-summary.service.spec.ts
index a87f5c8548..c95d50cfbf 100644
--- a/src/app/core/trusted-summary/trusted-summary.service.spec.ts
+++ b/src/app/core/trusted-summary/trusted-summary.service.spec.ts
@@ -4,6 +4,8 @@ import { TrustedSummaryService } from './trusted-summary.service'
 import { HttpClientTestingModule } from '@angular/common/http/testing'
 import { ErrorHandlerService } from '../error-handler/error-handler.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('TrustedSummaryService', () => {
   let service: TrustedSummaryService
 
diff --git a/src/app/core/two-factor-authentication.service.spec.ts b/src/app/core/two-factor-authentication.service.spec.ts
index 57f75214f7..7b52a0355b 100644
--- a/src/app/core/two-factor-authentication.service.spec.ts
+++ b/src/app/core/two-factor-authentication.service.spec.ts
@@ -10,6 +10,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('TwoFactorAuthenticationService', () => {
   let service: TwoFactorAuthenticationService
 
diff --git a/src/app/core/user-info/user-info.service.spec.ts b/src/app/core/user-info/user-info.service.spec.ts
index 526ade8b9a..07a3af6c87 100644
--- a/src/app/core/user-info/user-info.service.spec.ts
+++ b/src/app/core/user-info/user-info.service.spec.ts
@@ -12,6 +12,8 @@ import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 import { UserInfo } from '../../types'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('UserInfoService', () => {
   let service: UserInfoService
 
diff --git a/src/app/core/user/user.service.spec.ts b/src/app/core/user/user.service.spec.ts
index ea8122c1e6..610c6d5f1c 100644
--- a/src/app/core/user/user.service.spec.ts
+++ b/src/app/core/user/user.service.spec.ts
@@ -13,6 +13,8 @@ import { Overlay } from '@angular/cdk/overlay'
 import { UserSession } from '../../types/session.local'
 import { UserInfo } from '../../types'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('UserService', () => {
   beforeEach(() =>
     TestBed.configureTestingModule({
diff --git a/src/app/core/verification-email-modal/verification-email-modal.service.spec.ts b/src/app/core/verification-email-modal/verification-email-modal.service.spec.ts
index dd0574c824..ca65386c35 100644
--- a/src/app/core/verification-email-modal/verification-email-modal.service.spec.ts
+++ b/src/app/core/verification-email-modal/verification-email-modal.service.spec.ts
@@ -14,6 +14,8 @@ import { SnackbarService } from '../../cdk/snackbar/snackbar.service'
 import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('VerificationEmailModalService', () => {
   let service: VerificationEmailModalService
 
diff --git a/src/app/core/wordpress/wordpress.service.spec.ts b/src/app/core/wordpress/wordpress.service.spec.ts
index fb8aa9509a..d2010ebdad 100644
--- a/src/app/core/wordpress/wordpress.service.spec.ts
+++ b/src/app/core/wordpress/wordpress.service.spec.ts
@@ -10,6 +10,8 @@ import { WINDOW_PROVIDERS } from 'src/app/cdk/window'
 import { LOCALE_ID } from '@angular/core'
 import { environment } from 'src/environments/environment'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('WordpressService', () => {
   let service: WordpressService
   let httpMock: HttpTestingController
diff --git a/src/app/core/zendesk/zendesk.service.spec.ts b/src/app/core/zendesk/zendesk.service.spec.ts
index 50bb29d931..fb9325b0b0 100644
--- a/src/app/core/zendesk/zendesk.service.spec.ts
+++ b/src/app/core/zendesk/zendesk.service.spec.ts
@@ -3,6 +3,8 @@ import { TestBed } from '@angular/core/testing'
 import { ZendeskService } from './zendesk.service'
 import { WINDOW_PROVIDERS } from '../../cdk/window'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('ZendeskService', () => {
   let service: ZendeskService
 
diff --git a/src/app/developer-tools/components/client-secret-modal/client-secret-modal.component.spec.ts b/src/app/developer-tools/components/client-secret-modal/client-secret-modal.component.spec.ts
index ba7e425e08..fa379b6111 100644
--- a/src/app/developer-tools/components/client-secret-modal/client-secret-modal.component.spec.ts
+++ b/src/app/developer-tools/components/client-secret-modal/client-secret-modal.component.spec.ts
@@ -6,6 +6,8 @@ import {
   MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA,
 } from '@angular/material/legacy-dialog'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('ClientSecretModalComponent', () => {
   let component: ClientSecretModalComponent
   let fixture: ComponentFixture<ClientSecretModalComponent>
@@ -17,6 +19,7 @@ describe('ClientSecretModalComponent', () => {
         { provide: MAT_DIALOG_DATA, useValue: {} },
         { provide: MatDialogRef, useValue: {} },
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
 
     fixture = TestBed.createComponent(ClientSecretModalComponent)
diff --git a/src/app/developer-tools/components/client-secret/client-secret.component.spec.ts b/src/app/developer-tools/components/client-secret/client-secret.component.spec.ts
index f11729929f..1843160274 100644
--- a/src/app/developer-tools/components/client-secret/client-secret.component.spec.ts
+++ b/src/app/developer-tools/components/client-secret/client-secret.component.spec.ts
@@ -2,6 +2,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 
 import { ClientSecretComponent } from './client-secret.component'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('ClientSecretComponent', () => {
   let component: ClientSecretComponent
   let fixture: ComponentFixture<ClientSecretComponent>
@@ -9,6 +11,7 @@ describe('ClientSecretComponent', () => {
   beforeEach(async () => {
     await TestBed.configureTestingModule({
       declarations: [ClientSecretComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
 
     fixture = TestBed.createComponent(ClientSecretComponent)
diff --git a/src/app/developer-tools/components/code-panel/code-panel.component.spec.ts b/src/app/developer-tools/components/code-panel/code-panel.component.spec.ts
index 1f08f689a2..da8d0dd997 100644
--- a/src/app/developer-tools/components/code-panel/code-panel.component.spec.ts
+++ b/src/app/developer-tools/components/code-panel/code-panel.component.spec.ts
@@ -2,6 +2,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 
 import { CodePanelComponent } from './code-panel.component'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('CodePanelComponent', () => {
   let component: CodePanelComponent
   let fixture: ComponentFixture<CodePanelComponent>
@@ -9,6 +11,7 @@ describe('CodePanelComponent', () => {
   beforeEach(async () => {
     await TestBed.configureTestingModule({
       declarations: [CodePanelComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
 
     fixture = TestBed.createComponent(CodePanelComponent)
diff --git a/src/app/developer-tools/components/terms-of-use/terms-of-use.component.spec.ts b/src/app/developer-tools/components/terms-of-use/terms-of-use.component.spec.ts
index 902bae6abe..d89be99986 100644
--- a/src/app/developer-tools/components/terms-of-use/terms-of-use.component.spec.ts
+++ b/src/app/developer-tools/components/terms-of-use/terms-of-use.component.spec.ts
@@ -6,6 +6,8 @@ import { PlatformInfoService } from 'src/app/cdk/platform-info'
 import { RecordService } from 'src/app/core/record/record.service'
 import { of } from 'rxjs'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('TermsOfUseComponent', () => {
   let component: TermsOfUseComponent
   let fixture: ComponentFixture<TermsOfUseComponent>
@@ -18,6 +20,7 @@ describe('TermsOfUseComponent', () => {
         { provide: PlatformInfoService, useValue: {} },
         { provide: RecordService, useValue: { getRecord: () => of() } },
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
 
     fixture = TestBed.createComponent(TermsOfUseComponent)
diff --git a/src/app/developer-tools/pages/developer-tools/developer-tools.component.spec.ts b/src/app/developer-tools/pages/developer-tools/developer-tools.component.spec.ts
index cbd7f8d19e..737753c3c3 100644
--- a/src/app/developer-tools/pages/developer-tools/developer-tools.component.spec.ts
+++ b/src/app/developer-tools/pages/developer-tools/developer-tools.component.spec.ts
@@ -11,6 +11,8 @@ import { WINDOW, WINDOW_PROVIDERS } from 'src/app/cdk/window'
 import { DeveloperToolsComponent } from './developer-tools.component'
 import { PlatformInfoService } from 'src/app/cdk/platform-info'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('DeveloperToolsComponent', () => {
   let component: DeveloperToolsComponent
   let fixture: ComponentFixture<DeveloperToolsComponent>
@@ -51,6 +53,7 @@ describe('DeveloperToolsComponent', () => {
           useValue: {},
         },
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
 
     fixture = TestBed.createComponent(DeveloperToolsComponent)
diff --git a/src/app/environment-banner/environment-banner/environment-banner.component.spec.ts b/src/app/environment-banner/environment-banner/environment-banner.component.spec.ts
index 4cb6420f7f..3800cdf0fa 100644
--- a/src/app/environment-banner/environment-banner/environment-banner.component.spec.ts
+++ b/src/app/environment-banner/environment-banner/environment-banner.component.spec.ts
@@ -3,6 +3,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 import { EnvironmentBannerComponent } from './environment-banner.component'
 import { WINDOW_PROVIDERS } from '../../cdk/window'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('EnvironmentBannerComponent', () => {
   let component: EnvironmentBannerComponent
   let fixture: ComponentFixture<EnvironmentBannerComponent>
@@ -11,6 +13,7 @@ describe('EnvironmentBannerComponent', () => {
     TestBed.configureTestingModule({
       declarations: [EnvironmentBannerComponent],
       providers: [WINDOW_PROVIDERS],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/guards/authenticated-no-delagator.guard.spec.ts b/src/app/guards/authenticated-no-delagator.guard.spec.ts
index 8f142ff5ac..eaae704f24 100644
--- a/src/app/guards/authenticated-no-delagator.guard.spec.ts
+++ b/src/app/guards/authenticated-no-delagator.guard.spec.ts
@@ -12,6 +12,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('AuthenticatedNoDelegatorGuard', () => {
   let guard: AuthenticatedNoDelegatorGuard
 
diff --git a/src/app/guards/authenticated.guard.spec.ts b/src/app/guards/authenticated.guard.spec.ts
index 4dc3a39cf7..571f72f407 100644
--- a/src/app/guards/authenticated.guard.spec.ts
+++ b/src/app/guards/authenticated.guard.spec.ts
@@ -11,6 +11,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('AuthenticatedGuard', () => {
   let guard: AuthenticatedGuard
 
diff --git a/src/app/guards/language.guard.spec.ts b/src/app/guards/language.guard.spec.ts
index 9e8bc8ced7..7928795469 100644
--- a/src/app/guards/language.guard.spec.ts
+++ b/src/app/guards/language.guard.spec.ts
@@ -11,6 +11,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('LanguageGuard', () => {
   let guard: LanguageGuard
 
diff --git a/src/app/guards/link-account.guard.spec.ts b/src/app/guards/link-account.guard.spec.ts
index f76a8371c8..1442e4c72b 100644
--- a/src/app/guards/link-account.guard.spec.ts
+++ b/src/app/guards/link-account.guard.spec.ts
@@ -10,6 +10,8 @@ import { SnackbarService } from '../cdk/snackbar/snackbar.service'
 import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('LinkAccountGuard', () => {
   let guard: LinkAccountGuard
 
diff --git a/src/app/guards/register.spec.ts b/src/app/guards/register.spec.ts
index 7b9c021c88..e70231cd97 100644
--- a/src/app/guards/register.spec.ts
+++ b/src/app/guards/register.spec.ts
@@ -11,6 +11,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('RegisterGuard', () => {
   let guard: RegisterGuard
 
diff --git a/src/app/guards/sign-in.guard.spec.ts b/src/app/guards/sign-in.guard.spec.ts
index 55fa9c03aa..71764ca679 100644
--- a/src/app/guards/sign-in.guard.spec.ts
+++ b/src/app/guards/sign-in.guard.spec.ts
@@ -11,6 +11,8 @@ import { SnackbarService } from '../cdk/snackbar/snackbar.service'
 import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SignInGuard', () => {
   let guard: SignInGuard
 
diff --git a/src/app/guards/third-party-signin-completed.guard.spec.ts b/src/app/guards/third-party-signin-completed.guard.spec.ts
index 9c392434e3..cda3895b4a 100644
--- a/src/app/guards/third-party-signin-completed.guard.spec.ts
+++ b/src/app/guards/third-party-signin-completed.guard.spec.ts
@@ -11,6 +11,8 @@ import { SnackbarService } from '../cdk/snackbar/snackbar.service'
 import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('ThirdPartySigninCompletedGuard', () => {
   let guard: ThirdPartySigninCompletedGuard
 
diff --git a/src/app/guards/two-factor-signin.guard.spec.ts b/src/app/guards/two-factor-signin.guard.spec.ts
index edda53c099..a005779639 100644
--- a/src/app/guards/two-factor-signin.guard.spec.ts
+++ b/src/app/guards/two-factor-signin.guard.spec.ts
@@ -10,6 +10,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('TwoFactorSigninGuard', () => {
   let guard: TwoFactorSigninGuard
 
diff --git a/src/app/home/components/news/news.component.spec.ts b/src/app/home/components/news/news.component.spec.ts
index 1a55b18543..46d53c6d4c 100644
--- a/src/app/home/components/news/news.component.spec.ts
+++ b/src/app/home/components/news/news.component.spec.ts
@@ -12,6 +12,8 @@ import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 import { NewsService } from '../../../core'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('NewsComponent', () => {
   let component: NewsComponent
   let fixture: ComponentFixture<NewsComponent>
@@ -30,6 +32,7 @@ describe('NewsComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/home/home.module.spec.ts b/src/app/home/home.module.spec.ts
index 5c3e258eaa..afabbe22d3 100644
--- a/src/app/home/home.module.spec.ts
+++ b/src/app/home/home.module.spec.ts
@@ -1,5 +1,7 @@
 import { HomeModule } from './home.module'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('HomeModule', () => {
   let homeModule: HomeModule
 
diff --git a/src/app/home/pages/home/home.component.spec.ts b/src/app/home/pages/home/home.component.spec.ts
index 43d691f260..c84ad32fb2 100644
--- a/src/app/home/pages/home/home.component.spec.ts
+++ b/src/app/home/pages/home/home.component.spec.ts
@@ -13,6 +13,8 @@ import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 import { NoopAnimationsModule } from '@angular/platform-browser/animations'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('HomeComponent', () => {
   let component: HomeComponent
   let fixture: ComponentFixture<HomeComponent>
@@ -34,6 +36,7 @@ describe('HomeComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/inbox/components/notification-html/notification-html.component.spec.ts b/src/app/inbox/components/notification-html/notification-html.component.spec.ts
index 2dba875e35..079ed14279 100644
--- a/src/app/inbox/components/notification-html/notification-html.component.spec.ts
+++ b/src/app/inbox/components/notification-html/notification-html.component.spec.ts
@@ -3,6 +3,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 import { NotificationHtmlComponent } from './notification-html.component'
 import { SharedModule } from '../../../shared/shared.module'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('NotificationHtmlComponent', () => {
   let component: NotificationHtmlComponent
   let fixture: ComponentFixture<NotificationHtmlComponent>
@@ -11,6 +13,7 @@ describe('NotificationHtmlComponent', () => {
     TestBed.configureTestingModule({
       imports: [SharedModule],
       declarations: [NotificationHtmlComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/inbox/components/notification-permission-institutional-connection/notification-permission-institutional-connection.component.spec.ts b/src/app/inbox/components/notification-permission-institutional-connection/notification-permission-institutional-connection.component.spec.ts
index f5fed6ccdf..38a857bb98 100644
--- a/src/app/inbox/components/notification-permission-institutional-connection/notification-permission-institutional-connection.component.spec.ts
+++ b/src/app/inbox/components/notification-permission-institutional-connection/notification-permission-institutional-connection.component.spec.ts
@@ -3,6 +3,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 import { NotificationPermissionInstitutionalConnectionComponent } from './notification-permission-institutional-connection.component'
 import { WINDOW_PROVIDERS } from '../../../cdk/window'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('NotificationPermissionINSTITUTIONALCONNECTIONComponent', () => {
   let component: NotificationPermissionInstitutionalConnectionComponent
   let fixture: ComponentFixture<NotificationPermissionInstitutionalConnectionComponent>
@@ -11,6 +13,7 @@ describe('NotificationPermissionINSTITUTIONALCONNECTIONComponent', () => {
     TestBed.configureTestingModule({
       declarations: [NotificationPermissionInstitutionalConnectionComponent],
       providers: [WINDOW_PROVIDERS],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/inbox/components/notification-permission/notification-permission.component.spec.ts b/src/app/inbox/components/notification-permission/notification-permission.component.spec.ts
index 346b49680a..f03df5dc4a 100644
--- a/src/app/inbox/components/notification-permission/notification-permission.component.spec.ts
+++ b/src/app/inbox/components/notification-permission/notification-permission.component.spec.ts
@@ -12,6 +12,8 @@ import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 import { InboxService } from '../../../core/inbox/inbox.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('NotificationPermissionComponent', () => {
   let component: NotificationPermissionComponent
   let fixture: ComponentFixture<NotificationPermissionComponent>
@@ -30,6 +32,7 @@ describe('NotificationPermissionComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/inbox/components/notification-your-record-amended/notification-your-record-amended.component.spec.ts b/src/app/inbox/components/notification-your-record-amended/notification-your-record-amended.component.spec.ts
index a6e5162f40..4035eccf20 100644
--- a/src/app/inbox/components/notification-your-record-amended/notification-your-record-amended.component.spec.ts
+++ b/src/app/inbox/components/notification-your-record-amended/notification-your-record-amended.component.spec.ts
@@ -11,6 +11,8 @@ import { Overlay } from '@angular/cdk/overlay'
 import { HttpClientTestingModule } from '@angular/common/http/testing'
 import { RouterTestingModule } from '@angular/router/testing'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('NotificationYourRecordAmendedComponent', () => {
   let component: NotificationYourRecordAmendedComponent
   let fixture: ComponentFixture<NotificationYourRecordAmendedComponent>
@@ -28,6 +30,7 @@ describe('NotificationYourRecordAmendedComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/inbox/components/notification/notification.component.spec.ts b/src/app/inbox/components/notification/notification.component.spec.ts
index 6a343eaaa9..12903af0b7 100644
--- a/src/app/inbox/components/notification/notification.component.spec.ts
+++ b/src/app/inbox/components/notification/notification.component.spec.ts
@@ -8,11 +8,23 @@ import { ErrorHandlerService } from '../../../core/error-handler/error-handler.s
 import { SnackbarService } from '../../../cdk/snackbar/snackbar.service'
 import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
+import {
+  MatLegacyTooltipModule,
+  MatLegacyTooltip as MatTooltip,
+} from '@angular/material/legacy-tooltip'
+import {
+  MatLegacyCheckbox as MatCheckbox,
+  MatLegacyCheckboxModule,
+} from '@angular/material/legacy-checkbox'
+
 import { Overlay } from '@angular/cdk/overlay'
 import { HttpClientTestingModule } from '@angular/common/http/testing'
 import { RouterTestingModule } from '@angular/router/testing'
 import { NoopAnimationsModule } from '@angular/platform-browser/animations'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+import { ReactiveFormsModule } from '@angular/forms'
+
 describe('NotificationComponent', () => {
   let component: NotificationComponent
   let fixture: ComponentFixture<NotificationComponent>
@@ -23,6 +35,9 @@ describe('NotificationComponent', () => {
         HttpClientTestingModule,
         NoopAnimationsModule,
         RouterTestingModule,
+        ReactiveFormsModule,
+        MatLegacyCheckboxModule,
+        MatLegacyTooltipModule,
       ],
       declarations: [NotificationComponent],
       providers: [
@@ -35,6 +50,7 @@ describe('NotificationComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/inbox/components/notifications/notifications.component.spec.ts b/src/app/inbox/components/notifications/notifications.component.spec.ts
index 0548c606df..9955cf8b79 100644
--- a/src/app/inbox/components/notifications/notifications.component.spec.ts
+++ b/src/app/inbox/components/notifications/notifications.component.spec.ts
@@ -14,6 +14,8 @@ import { Overlay } from '@angular/cdk/overlay'
 import { UntypedFormBuilder } from '@angular/forms'
 import { InboxService } from '../../../core/inbox/inbox.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('NotificationsComponent', () => {
   let component: NotificationsComponent
   let fixture: ComponentFixture<NotificationsComponent>
@@ -33,6 +35,7 @@ describe('NotificationsComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/inbox/pages/inbox/inbox.component.spec.ts b/src/app/inbox/pages/inbox/inbox.component.spec.ts
index 62e702e458..80616cb59b 100644
--- a/src/app/inbox/pages/inbox/inbox.component.spec.ts
+++ b/src/app/inbox/pages/inbox/inbox.component.spec.ts
@@ -2,6 +2,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 
 import { InboxComponent } from './inbox.component'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('InboxComponent', () => {
   let component: InboxComponent
   let fixture: ComponentFixture<InboxComponent>
@@ -9,6 +11,7 @@ describe('InboxComponent', () => {
   beforeEach(() => {
     TestBed.configureTestingModule({
       declarations: [InboxComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/institutional/pages/institutional/institutional.component.spec.ts b/src/app/institutional/pages/institutional/institutional.component.spec.ts
index 44e475d595..e3035317e3 100644
--- a/src/app/institutional/pages/institutional/institutional.component.spec.ts
+++ b/src/app/institutional/pages/institutional/institutional.component.spec.ts
@@ -12,6 +12,9 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { Overlay } from '@angular/cdk/overlay'
 import { MatLegacyAutocompleteModule as MatAutocompleteModule } from '@angular/material/legacy-autocomplete'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+import { ReactiveFormsModule } from '@angular/forms'
+
 describe('InstitutionalComponent', () => {
   let component: InstitutionalComponent
   let fixture: ComponentFixture<InstitutionalComponent>
@@ -22,6 +25,7 @@ describe('InstitutionalComponent', () => {
         HttpClientTestingModule,
         MatAutocompleteModule,
         RouterTestingModule,
+        ReactiveFormsModule,
       ],
       declarations: [InstitutionalComponent],
       providers: [
@@ -33,6 +37,7 @@ describe('InstitutionalComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/layout/banners/banners.component.spec.ts b/src/app/layout/banners/banners.component.spec.ts
index 4eb6fc1136..1178c0d69b 100644
--- a/src/app/layout/banners/banners.component.spec.ts
+++ b/src/app/layout/banners/banners.component.spec.ts
@@ -17,6 +17,8 @@ import { SnackbarService } from '../../cdk/snackbar/snackbar.service'
 import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('BannersComponent', () => {
   let component: BannersComponent
   let fixture: ComponentFixture<BannersComponent>
@@ -34,6 +36,7 @@ describe('BannersComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/layout/footer/footer.component.spec.ts b/src/app/layout/footer/footer.component.spec.ts
index a669ad5cf6..63d136554a 100644
--- a/src/app/layout/footer/footer.component.spec.ts
+++ b/src/app/layout/footer/footer.component.spec.ts
@@ -17,6 +17,8 @@ import { SnackbarService } from '../../cdk/snackbar/snackbar.service'
 import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('FooterComponent', () => {
   let component: FooterComponent
   let fixture: ComponentFixture<FooterComponent>
@@ -26,6 +28,7 @@ describe('FooterComponent', () => {
       imports: [HttpClientTestingModule, RouterTestingModule],
       declarations: [FooterComponent],
       providers: [WINDOW_PROVIDERS, PlatformInfoService],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/layout/header/header.component.spec.ts b/src/app/layout/header/header.component.spec.ts
index 416b6db13e..a03efd8750 100644
--- a/src/app/layout/header/header.component.spec.ts
+++ b/src/app/layout/header/header.component.spec.ts
@@ -11,6 +11,8 @@ import { SnackbarService } from '../../cdk/snackbar/snackbar.service'
 import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('HeaderComponent', () => {
   let component: HeaderComponent
   let fixture: ComponentFixture<HeaderComponent>
@@ -28,6 +30,7 @@ describe('HeaderComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/layout/language/language.component.spec.ts b/src/app/layout/language/language.component.spec.ts
index d4a5a4d5c9..0d8f395a33 100644
--- a/src/app/layout/language/language.component.spec.ts
+++ b/src/app/layout/language/language.component.spec.ts
@@ -13,6 +13,8 @@ import { Overlay } from '@angular/cdk/overlay'
 import { LanguageService } from '../../core/language/language.service'
 import { MatLegacyMenuModule as MatMenuModule } from '@angular/material/legacy-menu'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('LanguageComponent', () => {
   let component: LanguageComponent
   let fixture: ComponentFixture<LanguageComponent>
@@ -31,6 +33,7 @@ describe('LanguageComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/layout/layout.module.spec.ts b/src/app/layout/layout.module.spec.ts
index aff18601bb..0dbdfba486 100644
--- a/src/app/layout/layout.module.spec.ts
+++ b/src/app/layout/layout.module.spec.ts
@@ -1,5 +1,7 @@
 import { LayoutModule } from './layout.module'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('LayoutModule', () => {
   let layoutModule: LayoutModule
 
diff --git a/src/app/layout/maintenance-message/maintenance-message.component.spec.ts b/src/app/layout/maintenance-message/maintenance-message.component.spec.ts
index e67694135e..4779f6a558 100644
--- a/src/app/layout/maintenance-message/maintenance-message.component.spec.ts
+++ b/src/app/layout/maintenance-message/maintenance-message.component.spec.ts
@@ -11,6 +11,8 @@ import { SnackbarService } from '../../cdk/snackbar/snackbar.service'
 import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('MaintenanceMessageComponent', () => {
   let component: MaintenanceMessageComponent
   let fixture: ComponentFixture<MaintenanceMessageComponent>
@@ -28,6 +30,7 @@ describe('MaintenanceMessageComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/layout/menu-icon/menu-icon.component.spec.ts b/src/app/layout/menu-icon/menu-icon.component.spec.ts
index def18a30bb..ca36ceb8ab 100644
--- a/src/app/layout/menu-icon/menu-icon.component.spec.ts
+++ b/src/app/layout/menu-icon/menu-icon.component.spec.ts
@@ -2,6 +2,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 
 import { MenuIconComponent } from './menu-icon.component'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('MenuIconComponent', () => {
   let component: MenuIconComponent
   let fixture: ComponentFixture<MenuIconComponent>
@@ -9,6 +11,7 @@ describe('MenuIconComponent', () => {
   beforeEach(() => {
     TestBed.configureTestingModule({
       declarations: [MenuIconComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/layout/search/search.component.spec.ts b/src/app/layout/search/search.component.spec.ts
index 5e9393a500..fa3e5c18f8 100644
--- a/src/app/layout/search/search.component.spec.ts
+++ b/src/app/layout/search/search.component.spec.ts
@@ -13,13 +13,21 @@ import { HttpClientTestingModule } from '@angular/common/http/testing'
 import { SearchService } from '../../core/search/search.service'
 import { MatLegacyMenuModule as MatMenuModule } from '@angular/material/legacy-menu'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+import { FormsModule } from '@angular/forms'
+
 describe('SearchComponent', () => {
   let component: SearchComponent
   let fixture: ComponentFixture<SearchComponent>
 
   beforeEach(() => {
     TestBed.configureTestingModule({
-      imports: [HttpClientTestingModule, MatMenuModule, RouterTestingModule],
+      imports: [
+        HttpClientTestingModule,
+        MatMenuModule,
+        RouterTestingModule,
+        FormsModule,
+      ],
       declarations: [SearchComponent],
       providers: [
         WINDOW_PROVIDERS,
@@ -30,6 +38,7 @@ describe('SearchComponent', () => {
         MatSnackBar,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/layout/skip-main-nav/skip-main-nav.component.spec.ts b/src/app/layout/skip-main-nav/skip-main-nav.component.spec.ts
index fb16132575..86c8a1b503 100644
--- a/src/app/layout/skip-main-nav/skip-main-nav.component.spec.ts
+++ b/src/app/layout/skip-main-nav/skip-main-nav.component.spec.ts
@@ -4,6 +4,8 @@ import { SkipMainNavComponent } from './skip-main-nav.component'
 import { RouterTestingModule } from '@angular/router/testing'
 import { WINDOW_PROVIDERS } from '../../cdk/window'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SkipMainNavComponent', () => {
   let component: SkipMainNavComponent
   let fixture: ComponentFixture<SkipMainNavComponent>
@@ -13,6 +15,7 @@ describe('SkipMainNavComponent', () => {
       imports: [RouterTestingModule],
       declarations: [SkipMainNavComponent],
       providers: [WINDOW_PROVIDERS],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/layout/statistics/statistics.component.spec.ts b/src/app/layout/statistics/statistics.component.spec.ts
index 6dc4824a33..64cecc8b3e 100644
--- a/src/app/layout/statistics/statistics.component.spec.ts
+++ b/src/app/layout/statistics/statistics.component.spec.ts
@@ -12,6 +12,8 @@ import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 import { WINDOW_PROVIDERS } from '../../cdk/window'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('StatisticsComponent', () => {
   let component: StatisticsComponent
   let fixture: ComponentFixture<StatisticsComponent>
@@ -30,6 +32,7 @@ describe('StatisticsComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/layout/user-menu/user-menu.component.spec.ts b/src/app/layout/user-menu/user-menu.component.spec.ts
index 167e8ca0e4..07810dbe81 100644
--- a/src/app/layout/user-menu/user-menu.component.spec.ts
+++ b/src/app/layout/user-menu/user-menu.component.spec.ts
@@ -27,6 +27,8 @@ import { Config } from '../../types/togglz.endpoint'
 import { MatIconModule } from '@angular/material/icon'
 import { MatIconHarness } from '@angular/material/icon/testing'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('UserMenuComponent', () => {
   let component: UserMenuComponent
   let fixture: ComponentFixture<UserMenuComponent>
@@ -66,6 +68,7 @@ describe('UserMenuComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
     togglzService = TestBed.inject(TogglzService)
     togglzService.togglzSubject = new ReplaySubject<Config>()
diff --git a/src/app/link-account/pages/link-account/link-account.component.spec.ts b/src/app/link-account/pages/link-account/link-account.component.spec.ts
index 0289e716a8..c7c8f21b91 100644
--- a/src/app/link-account/pages/link-account/link-account.component.spec.ts
+++ b/src/app/link-account/pages/link-account/link-account.component.spec.ts
@@ -11,6 +11,8 @@ import { SnackbarService } from '../../../cdk/snackbar/snackbar.service'
 import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('LinkAccountComponent', () => {
   let component: LinkAccountComponent
   let fixture: ComponentFixture<LinkAccountComponent>
@@ -28,6 +30,7 @@ describe('LinkAccountComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/password-recovery/pages/password-recovery/password-recovery.component.spec.ts b/src/app/password-recovery/pages/password-recovery/password-recovery.component.spec.ts
index d452bd6cca..666ea33688 100644
--- a/src/app/password-recovery/pages/password-recovery/password-recovery.component.spec.ts
+++ b/src/app/password-recovery/pages/password-recovery/password-recovery.component.spec.ts
@@ -13,13 +13,21 @@ import { Overlay } from '@angular/cdk/overlay'
 import { PasswordRecoveryService } from '../../../core/password-recovery/password-recovery.service'
 import { MatLegacyChipsModule as MatChipsModule } from '@angular/material/legacy-chips'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+import { ReactiveFormsModule } from '@angular/forms'
+
 describe('PasswordRecoveryComponent', () => {
   let component: PasswordRecoveryComponent
   let fixture: ComponentFixture<PasswordRecoveryComponent>
 
   beforeEach(() => {
     TestBed.configureTestingModule({
-      imports: [HttpClientTestingModule, MatChipsModule, RouterTestingModule],
+      imports: [
+        HttpClientTestingModule,
+        MatChipsModule,
+        RouterTestingModule,
+        ReactiveFormsModule,
+      ],
       declarations: [PasswordRecoveryComponent],
       providers: [
         WINDOW_PROVIDERS,
@@ -31,6 +39,7 @@ describe('PasswordRecoveryComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/record/components/affiliation-stack/affiliation-stack.component.spec.ts b/src/app/record/components/affiliation-stack/affiliation-stack.component.spec.ts
index d91f578bfd..1b85515605 100644
--- a/src/app/record/components/affiliation-stack/affiliation-stack.component.spec.ts
+++ b/src/app/record/components/affiliation-stack/affiliation-stack.component.spec.ts
@@ -11,6 +11,8 @@ import { SnackbarService } from '../../../cdk/snackbar/snackbar.service'
 import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('AffiliationStackComponent', () => {
   let component: AffiliationStackComponent
   let fixture: ComponentFixture<AffiliationStackComponent>
@@ -28,6 +30,7 @@ describe('AffiliationStackComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/record/components/affiliation-stacks-groups/affiliation-stacks-groups.component.spec.ts b/src/app/record/components/affiliation-stacks-groups/affiliation-stacks-groups.component.spec.ts
index 186c8d7f4f..95bc06c3d0 100644
--- a/src/app/record/components/affiliation-stacks-groups/affiliation-stacks-groups.component.spec.ts
+++ b/src/app/record/components/affiliation-stacks-groups/affiliation-stacks-groups.component.spec.ts
@@ -13,6 +13,8 @@ import { Overlay } from '@angular/cdk/overlay'
 import { RecordService } from '../../../core/record/record.service'
 import { RecordAffiliationService } from '../../../core/record-affiliations/record-affiliations.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('AffiliationStacksGroupsComponent', () => {
   let component: AffiliationStacksGroupsComponent
   let fixture: ComponentFixture<AffiliationStacksGroupsComponent>
@@ -32,6 +34,7 @@ describe('AffiliationStacksGroupsComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   }))
 
diff --git a/src/app/record/components/affiliation-stacks-groups/modals/modal-affiliations/modal-affiliations.component.spec.ts b/src/app/record/components/affiliation-stacks-groups/modals/modal-affiliations/modal-affiliations.component.spec.ts
index 155a204c35..d666695a09 100644
--- a/src/app/record/components/affiliation-stacks-groups/modals/modal-affiliations/modal-affiliations.component.spec.ts
+++ b/src/app/record/components/affiliation-stacks-groups/modals/modal-affiliations/modal-affiliations.component.spec.ts
@@ -8,16 +8,29 @@ import { PlatformInfoService } from '../../../../../cdk/platform-info'
 import { ErrorHandlerService } from '../../../../../core/error-handler/error-handler.service'
 import { SnackbarService } from '../../../../../cdk/snackbar/snackbar.service'
 import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'
+import {
+  MatLegacyMenuModule,
+  MatLegacyMenu as MatMenu,
+} from '@angular/material/legacy-menu'
+
 import {
   MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA,
   MatLegacyDialog as MatDialog,
   MatLegacyDialogRef as MatDialogRef,
 } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
-import { UntypedFormBuilder } from '@angular/forms'
+import { ReactiveFormsModule, UntypedFormBuilder } from '@angular/forms'
 import { MatLegacyAutocompleteModule as MatAutocompleteModule } from '@angular/material/legacy-autocomplete'
 import { SharedModule } from '../../../../../shared/shared.module'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+import { MatOption } from '@angular/material/core'
+import { MatLegacySelectModule } from '@angular/material/legacy-select'
+import { VisibilitySelectorComponent } from 'src/app/cdk/visibility-selector/visibility-selector/visibility-selector.component'
+import { BrowserAnimationsModule } from '@angular/platform-browser/animations'
+import { MatLegacyFormFieldModule } from '@angular/material/legacy-form-field'
+import { MatLegacyInputModule } from '@angular/material/legacy-input'
+
 describe('ModalAffiliationsComponent', () => {
   let component: ModalAffiliationsComponent
   let fixture: ComponentFixture<ModalAffiliationsComponent>
@@ -29,8 +42,14 @@ describe('ModalAffiliationsComponent', () => {
         MatAutocompleteModule,
         RouterTestingModule,
         SharedModule,
+        MatLegacySelectModule,
+        MatLegacyMenuModule,
+        ReactiveFormsModule,
+        BrowserAnimationsModule,
+        MatLegacyFormFieldModule,
+        MatLegacyInputModule,
       ],
-      declarations: [ModalAffiliationsComponent],
+      declarations: [ModalAffiliationsComponent, VisibilitySelectorComponent],
       providers: [
         { provide: MatDialogRef, useValue: {} },
         { provide: MAT_DIALOG_DATA, useValue: {} },
@@ -41,14 +60,18 @@ describe('ModalAffiliationsComponent', () => {
         SnackbarService,
         MatSnackBar,
         MatDialog,
+        MatMenu,
+        MatOption,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
   beforeEach(() => {
     fixture = TestBed.createComponent(ModalAffiliationsComponent)
     component = fixture.componentInstance
+
     fixture.detectChanges()
   })
 
diff --git a/src/app/record/components/affiliation/affiliation.component.spec.ts b/src/app/record/components/affiliation/affiliation.component.spec.ts
index 7a660f8181..6bb40de59c 100644
--- a/src/app/record/components/affiliation/affiliation.component.spec.ts
+++ b/src/app/record/components/affiliation/affiliation.component.spec.ts
@@ -3,6 +3,8 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'
 import { AffiliationComponent } from './affiliation.component'
 import { SharedModule } from '../../../shared/shared.module'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('AffiliationComponent', () => {
   let component: AffiliationComponent
   let fixture: ComponentFixture<AffiliationComponent>
@@ -11,6 +13,7 @@ describe('AffiliationComponent', () => {
     TestBed.configureTestingModule({
       imports: [SharedModule],
       declarations: [AffiliationComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   }))
 
diff --git a/src/app/record/components/display-attribute/display-attribute.component.spec.ts b/src/app/record/components/display-attribute/display-attribute.component.spec.ts
index 2d38c56197..64ff9b857b 100644
--- a/src/app/record/components/display-attribute/display-attribute.component.spec.ts
+++ b/src/app/record/components/display-attribute/display-attribute.component.spec.ts
@@ -2,6 +2,8 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'
 
 import { DisplayAttributeComponent } from './display-attribute.component'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('DisplayAttributeComponent', () => {
   let component: DisplayAttributeComponent
   let fixture: ComponentFixture<DisplayAttributeComponent>
@@ -9,6 +11,7 @@ describe('DisplayAttributeComponent', () => {
   beforeEach(waitForAsync(() => {
     TestBed.configureTestingModule({
       declarations: [DisplayAttributeComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   }))
 
diff --git a/src/app/record/components/display-external-ids/display-external-ids.component.spec.ts b/src/app/record/components/display-external-ids/display-external-ids.component.spec.ts
index 617096b4db..71de32c62e 100644
--- a/src/app/record/components/display-external-ids/display-external-ids.component.spec.ts
+++ b/src/app/record/components/display-external-ids/display-external-ids.component.spec.ts
@@ -2,6 +2,8 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'
 
 import { DisplayExternalIdsComponent } from './display-external-ids.component'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('DisplayExternalIdsComponent', () => {
   let component: DisplayExternalIdsComponent
   let fixture: ComponentFixture<DisplayExternalIdsComponent>
@@ -9,6 +11,7 @@ describe('DisplayExternalIdsComponent', () => {
   beforeEach(waitForAsync(() => {
     TestBed.configureTestingModule({
       declarations: [DisplayExternalIdsComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   }))
 
diff --git a/src/app/record/components/funding-external-identifiers-edit/funding-external-identifiers-edit.component.spec.ts b/src/app/record/components/funding-external-identifiers-edit/funding-external-identifiers-edit.component.spec.ts
index 4bd2673210..4da5d596c2 100644
--- a/src/app/record/components/funding-external-identifiers-edit/funding-external-identifiers-edit.component.spec.ts
+++ b/src/app/record/components/funding-external-identifiers-edit/funding-external-identifiers-edit.component.spec.ts
@@ -3,6 +3,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 import { FundingExternalIdentifiersEditComponent } from './funding-external-identifiers-edit.component'
 import { SharedModule } from '../../../shared/shared.module'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('FundingExternalIdentifiersEditComponent', () => {
   let component: FundingExternalIdentifiersEditComponent
   let fixture: ComponentFixture<FundingExternalIdentifiersEditComponent>
@@ -11,6 +13,7 @@ describe('FundingExternalIdentifiersEditComponent', () => {
     await TestBed.configureTestingModule({
       imports: [SharedModule],
       declarations: [FundingExternalIdentifiersEditComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/record/components/funding-external-identifiers-view-only/funding-external-identifiers-view-only.component.spec.ts b/src/app/record/components/funding-external-identifiers-view-only/funding-external-identifiers-view-only.component.spec.ts
index 9a8922d70b..c6cbc4c6e7 100644
--- a/src/app/record/components/funding-external-identifiers-view-only/funding-external-identifiers-view-only.component.spec.ts
+++ b/src/app/record/components/funding-external-identifiers-view-only/funding-external-identifiers-view-only.component.spec.ts
@@ -2,6 +2,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 
 import { FundingExternalIdentifiersViewOnlyComponent } from './funding-external-identifiers-view-only.component'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('ExternalIdentifiersViewOnlyComponent', () => {
   let component: FundingExternalIdentifiersViewOnlyComponent
   let fixture: ComponentFixture<FundingExternalIdentifiersViewOnlyComponent>
@@ -9,6 +11,7 @@ describe('ExternalIdentifiersViewOnlyComponent', () => {
   beforeEach(async () => {
     await TestBed.configureTestingModule({
       declarations: [FundingExternalIdentifiersViewOnlyComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/record/components/funding-stack/funding-stack.component.spec.ts b/src/app/record/components/funding-stack/funding-stack.component.spec.ts
index 9cbf55040a..3dc48726e7 100644
--- a/src/app/record/components/funding-stack/funding-stack.component.spec.ts
+++ b/src/app/record/components/funding-stack/funding-stack.component.spec.ts
@@ -11,6 +11,8 @@ import { SnackbarService } from '../../../cdk/snackbar/snackbar.service'
 import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('FundingStackComponent', () => {
   let component: FundingStackComponent
   let fixture: ComponentFixture<FundingStackComponent>
@@ -28,6 +30,7 @@ describe('FundingStackComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/record/components/funding-stacks-groups/funding-stacks-groups.component.spec.ts b/src/app/record/components/funding-stacks-groups/funding-stacks-groups.component.spec.ts
index 8cdc6a7ac1..fd4bcb9491 100644
--- a/src/app/record/components/funding-stacks-groups/funding-stacks-groups.component.spec.ts
+++ b/src/app/record/components/funding-stacks-groups/funding-stacks-groups.component.spec.ts
@@ -15,6 +15,8 @@ import { RecordService } from '../../../core/record/record.service'
 import { RecordFundingsService } from '../../../core/record-fundings/record-fundings.service'
 import { RecordCountriesService } from '../../../core/record-countries/record-countries.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('FundingStacksGroupsComponent', () => {
   let component: FundingStacksGroupsComponent
   let fixture: ComponentFixture<FundingStacksGroupsComponent>
@@ -36,6 +38,7 @@ describe('FundingStacksGroupsComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   }))
 
diff --git a/src/app/record/components/funding-stacks-groups/modals/modal-funding-search-link/modal-funding-search-link.component.spec.ts b/src/app/record/components/funding-stacks-groups/modals/modal-funding-search-link/modal-funding-search-link.component.spec.ts
index c861730c02..dfab533ed2 100644
--- a/src/app/record/components/funding-stacks-groups/modals/modal-funding-search-link/modal-funding-search-link.component.spec.ts
+++ b/src/app/record/components/funding-stacks-groups/modals/modal-funding-search-link/modal-funding-search-link.component.spec.ts
@@ -15,6 +15,8 @@ import {
 } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('ModalFundingSearchLinkComponent', () => {
   let component: ModalFundingSearchLinkComponent
   let fixture: ComponentFixture<ModalFundingSearchLinkComponent>
@@ -34,6 +36,7 @@ describe('ModalFundingSearchLinkComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/record/components/funding-stacks-groups/modals/modal-funding/modal-funding.component.spec.ts b/src/app/record/components/funding-stacks-groups/modals/modal-funding/modal-funding.component.spec.ts
index 9ef7c0f9fd..6e43c68f18 100644
--- a/src/app/record/components/funding-stacks-groups/modals/modal-funding/modal-funding.component.spec.ts
+++ b/src/app/record/components/funding-stacks-groups/modals/modal-funding/modal-funding.component.spec.ts
@@ -35,6 +35,8 @@ import { RecordModule } from '../../../../record.module'
 import { FundingTypes } from '../../../../../types/record-funding.endpoint'
 import { VisibilitySelectorModule } from 'src/app/cdk/visibility-selector/visibility-selector.module'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('ModalFundingComponent', () => {
   let component: ModalFundingComponent
   let fixture: ComponentFixture<ModalFundingComponent>
@@ -70,6 +72,7 @@ describe('ModalFundingComponent', () => {
         PlatformInfoService,
         UserService,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   }))
 
diff --git a/src/app/record/components/funding/funding.component.spec.ts b/src/app/record/components/funding/funding.component.spec.ts
index 9f6d1f9ad1..45c2378898 100644
--- a/src/app/record/components/funding/funding.component.spec.ts
+++ b/src/app/record/components/funding/funding.component.spec.ts
@@ -3,6 +3,8 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'
 import { FundingComponent } from './funding.component'
 import { SharedModule } from '../../../shared/shared.module'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('FundingComponent', () => {
   let component: FundingComponent
   let fixture: ComponentFixture<FundingComponent>
@@ -11,6 +13,7 @@ describe('FundingComponent', () => {
     TestBed.configureTestingModule({
       imports: [SharedModule],
       declarations: [FundingComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   }))
 
diff --git a/src/app/record/components/main/main.component.spec.ts b/src/app/record/components/main/main.component.spec.ts
index 14a345f44c..b47b7511cc 100644
--- a/src/app/record/components/main/main.component.spec.ts
+++ b/src/app/record/components/main/main.component.spec.ts
@@ -2,6 +2,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 
 import { MainComponent } from './main.component'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('MainComponent', () => {
   let component: MainComponent
   let fixture: ComponentFixture<MainComponent>
@@ -9,6 +11,7 @@ describe('MainComponent', () => {
   beforeEach(() => {
     TestBed.configureTestingModule({
       declarations: [MainComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/record/components/modals/modal-delete-item/modal-delete-items.component.spec.ts b/src/app/record/components/modals/modal-delete-item/modal-delete-items.component.spec.ts
index 9021b900c1..44903dc9f3 100644
--- a/src/app/record/components/modals/modal-delete-item/modal-delete-items.component.spec.ts
+++ b/src/app/record/components/modals/modal-delete-item/modal-delete-items.component.spec.ts
@@ -15,13 +15,20 @@ import { SnackbarService } from '../../../../cdk/snackbar/snackbar.service'
 import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+import { ReactiveFormsModule } from '@angular/forms'
+
 describe('ModalDeleteItemsComponent', () => {
   let component: ModalDeleteItemsComponent
   let fixture: ComponentFixture<ModalDeleteItemsComponent>
 
   beforeEach(async () => {
     await TestBed.configureTestingModule({
-      imports: [HttpClientTestingModule, RouterTestingModule],
+      imports: [
+        HttpClientTestingModule,
+        RouterTestingModule,
+        ReactiveFormsModule,
+      ],
       declarations: [ModalDeleteItemsComponent],
       providers: [
         { provide: MatDialogRef, useValue: {} },
@@ -34,6 +41,7 @@ describe('ModalDeleteItemsComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/record/components/not-found/not-found.component.spec.ts b/src/app/record/components/not-found/not-found.component.spec.ts
index 5e265f0ae7..897eccbf3f 100644
--- a/src/app/record/components/not-found/not-found.component.spec.ts
+++ b/src/app/record/components/not-found/not-found.component.spec.ts
@@ -11,6 +11,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('NotFoundComponent', () => {
   let component: NotFoundComponent
   let fixture: ComponentFixture<NotFoundComponent>
@@ -28,6 +30,7 @@ describe('NotFoundComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/record/components/org-identifier/org-identifier.component.spec.ts b/src/app/record/components/org-identifier/org-identifier.component.spec.ts
index 37e63e27fc..6bffabcf3c 100644
--- a/src/app/record/components/org-identifier/org-identifier.component.spec.ts
+++ b/src/app/record/components/org-identifier/org-identifier.component.spec.ts
@@ -12,6 +12,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { Overlay } from '@angular/cdk/overlay'
 import { OrganizationsService } from '../../../core'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('OrgIdentifierComponent', () => {
   let component: OrgIdentifierComponent
   let fixture: ComponentFixture<OrgIdentifierComponent>
@@ -30,6 +32,7 @@ describe('OrgIdentifierComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/record/components/peer-review-stack/peer-review-stack.component.spec.ts b/src/app/record/components/peer-review-stack/peer-review-stack.component.spec.ts
index 5ef3a469fa..3245d0e5b8 100644
--- a/src/app/record/components/peer-review-stack/peer-review-stack.component.spec.ts
+++ b/src/app/record/components/peer-review-stack/peer-review-stack.component.spec.ts
@@ -12,6 +12,8 @@ import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 import { RecordPeerReviewService } from '../../../core/record-peer-review/record-peer-review.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('PeerReviewStackComponent', () => {
   let component: PeerReviewStackComponent
   let fixture: ComponentFixture<PeerReviewStackComponent>
@@ -30,6 +32,7 @@ describe('PeerReviewStackComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/record/components/peer-review-stacks-groups/modals/modal-peer-reviews/modal-peer-reviews.component.spec.ts b/src/app/record/components/peer-review-stacks-groups/modals/modal-peer-reviews/modal-peer-reviews.component.spec.ts
index 50f2c6a284..3a36eb6c52 100644
--- a/src/app/record/components/peer-review-stacks-groups/modals/modal-peer-reviews/modal-peer-reviews.component.spec.ts
+++ b/src/app/record/components/peer-review-stacks-groups/modals/modal-peer-reviews/modal-peer-reviews.component.spec.ts
@@ -16,6 +16,8 @@ import {
 import { Overlay } from '@angular/cdk/overlay'
 import { RecordPeerReviewService } from '../../../../../core/record-peer-review/record-peer-review.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('ModalPeerReviewsComponent', () => {
   let component: ModalPeerReviewsComponent
   let fixture: ComponentFixture<ModalPeerReviewsComponent>
@@ -36,6 +38,7 @@ describe('ModalPeerReviewsComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   }))
 
diff --git a/src/app/record/components/peer-review-stacks-groups/peer-review-stacks-groups.component.spec.ts b/src/app/record/components/peer-review-stacks-groups/peer-review-stacks-groups.component.spec.ts
index 359926b4fb..c400647c42 100644
--- a/src/app/record/components/peer-review-stacks-groups/peer-review-stacks-groups.component.spec.ts
+++ b/src/app/record/components/peer-review-stacks-groups/peer-review-stacks-groups.component.spec.ts
@@ -11,6 +11,8 @@ import { SnackbarService } from '../../../cdk/snackbar/snackbar.service'
 import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('PeerReviewStacksGroupsComponent', () => {
   let component: PeerReviewStacksGroupsComponent
   let fixture: ComponentFixture<PeerReviewStacksGroupsComponent>
@@ -28,6 +30,7 @@ describe('PeerReviewStacksGroupsComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   }))
 
diff --git a/src/app/record/components/peer-review/peer-review.component.spec.ts b/src/app/record/components/peer-review/peer-review.component.spec.ts
index 54cbf87103..ca957898cf 100644
--- a/src/app/record/components/peer-review/peer-review.component.spec.ts
+++ b/src/app/record/components/peer-review/peer-review.component.spec.ts
@@ -2,6 +2,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 
 import { PeerReviewComponent } from './peer-review.component'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('PeerReviewComponent', () => {
   let component: PeerReviewComponent
   let fixture: ComponentFixture<PeerReviewComponent>
@@ -9,6 +11,7 @@ describe('PeerReviewComponent', () => {
   beforeEach(async () => {
     await TestBed.configureTestingModule({
       declarations: [PeerReviewComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/record/components/record-header/record-header.component.spec.ts b/src/app/record/components/record-header/record-header.component.spec.ts
index 41515c415a..0076a76eed 100644
--- a/src/app/record/components/record-header/record-header.component.spec.ts
+++ b/src/app/record/components/record-header/record-header.component.spec.ts
@@ -12,13 +12,20 @@ import { Overlay } from '@angular/cdk/overlay'
 import { RouterTestingModule } from '@angular/router/testing'
 import { RecordService } from 'src/app/core/record/record.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+import { MatLegacyTooltipModule } from '@angular/material/legacy-tooltip'
+
 describe('RecordHeaderComponent', () => {
   let component: RecordHeaderComponent
   let fixture: ComponentFixture<RecordHeaderComponent>
 
   beforeEach(async () => {
     await TestBed.configureTestingModule({
-      imports: [HttpClientTestingModule, RouterTestingModule],
+      imports: [
+        HttpClientTestingModule,
+        RouterTestingModule,
+        MatLegacyTooltipModule,
+      ],
       declarations: [RecordHeaderComponent],
       providers: [
         WINDOW_PROVIDERS,
@@ -30,6 +37,7 @@ describe('RecordHeaderComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/record/components/record-info/record-info.component.spec.ts b/src/app/record/components/record-info/record-info.component.spec.ts
index 3a330dd48f..8919247cd2 100644
--- a/src/app/record/components/record-info/record-info.component.spec.ts
+++ b/src/app/record/components/record-info/record-info.component.spec.ts
@@ -11,6 +11,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('RecordInfoComponent', () => {
   let component: RecordInfoComponent
   let fixture: ComponentFixture<RecordInfoComponent>
@@ -28,6 +30,7 @@ describe('RecordInfoComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/record/components/research-resource-stack/research-resource-stack.component.spec.ts b/src/app/record/components/research-resource-stack/research-resource-stack.component.spec.ts
index f22169f22e..e19efa5f20 100644
--- a/src/app/record/components/research-resource-stack/research-resource-stack.component.spec.ts
+++ b/src/app/record/components/research-resource-stack/research-resource-stack.component.spec.ts
@@ -12,6 +12,8 @@ import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 import { RecordResearchResourceService } from '../../../core/record-research-resource/record-research-resource.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('ResearchResourceStackComponent', () => {
   let component: ResearchResourceStackComponent
   let fixture: ComponentFixture<ResearchResourceStackComponent>
@@ -30,6 +32,7 @@ describe('ResearchResourceStackComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/record/components/research-resource-stacks-group/research-resource-stacks-group.component.spec.ts b/src/app/record/components/research-resource-stacks-group/research-resource-stacks-group.component.spec.ts
index 854fee01d3..46621d3d74 100644
--- a/src/app/record/components/research-resource-stacks-group/research-resource-stacks-group.component.spec.ts
+++ b/src/app/record/components/research-resource-stacks-group/research-resource-stacks-group.component.spec.ts
@@ -15,6 +15,8 @@ import { OrganizationsService, UserService } from '../../../core'
 import { RecordService } from '../../../core/record/record.service'
 import { RecordResearchResourceService } from '../../../core/record-research-resource/record-research-resource.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('ResearchResourcesComponent', () => {
   let component: ResearchResourceStacksGroupComponent
   let fixture: ComponentFixture<ResearchResourceStacksGroupComponent>
@@ -36,6 +38,7 @@ describe('ResearchResourcesComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/record/components/research-resource/research-resource.component.spec.ts b/src/app/record/components/research-resource/research-resource.component.spec.ts
index 072cbcd754..e2395f51b3 100644
--- a/src/app/record/components/research-resource/research-resource.component.spec.ts
+++ b/src/app/record/components/research-resource/research-resource.component.spec.ts
@@ -13,6 +13,8 @@ import { Overlay } from '@angular/cdk/overlay'
 import { SharedModule } from 'src/app/shared/shared.module'
 import { ResearchResource } from 'src/app/types/record-research-resources.endpoint'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('ResearchResourceComponent', () => {
   let component: ResearchResourceComponent
   let fixture: ComponentFixture<ResearchResourceComponent>
@@ -30,6 +32,7 @@ describe('ResearchResourceComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/record/components/search-link-wizard/search-link-wizard.component.spec.ts b/src/app/record/components/search-link-wizard/search-link-wizard.component.spec.ts
index b940e17c7f..6cb27bb042 100644
--- a/src/app/record/components/search-link-wizard/search-link-wizard.component.spec.ts
+++ b/src/app/record/components/search-link-wizard/search-link-wizard.component.spec.ts
@@ -2,6 +2,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 
 import { SearchLinkWizardComponent } from './search-link-wizard.component'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SearchLinkWizardComponent', () => {
   let component: SearchLinkWizardComponent
   let fixture: ComponentFixture<SearchLinkWizardComponent>
@@ -9,6 +11,7 @@ describe('SearchLinkWizardComponent', () => {
   beforeEach(async () => {
     await TestBed.configureTestingModule({
       declarations: [SearchLinkWizardComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/record/components/top-bar-actions/top-bar-actions.component.spec.ts b/src/app/record/components/top-bar-actions/top-bar-actions.component.spec.ts
index b1685f2b58..4a5ba51e6a 100644
--- a/src/app/record/components/top-bar-actions/top-bar-actions.component.spec.ts
+++ b/src/app/record/components/top-bar-actions/top-bar-actions.component.spec.ts
@@ -12,6 +12,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('TopBarActionsComponent', () => {
   let component: TopBarActionsComponent
   let fixture: ComponentFixture<TopBarActionsComponent>
@@ -29,6 +31,7 @@ describe('TopBarActionsComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/record/components/top-bar-record-issues/top-bar-record-issues.component.spec.ts b/src/app/record/components/top-bar-record-issues/top-bar-record-issues.component.spec.ts
index 5b8d72bed4..7e119f74db 100644
--- a/src/app/record/components/top-bar-record-issues/top-bar-record-issues.component.spec.ts
+++ b/src/app/record/components/top-bar-record-issues/top-bar-record-issues.component.spec.ts
@@ -11,6 +11,8 @@ import { SnackbarService } from '../../../cdk/snackbar/snackbar.service'
 import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('TopBarRecordIssuesComponent', () => {
   let component: TopBarRecordIssuesComponent
   let fixture: ComponentFixture<TopBarRecordIssuesComponent>
@@ -28,6 +30,7 @@ describe('TopBarRecordIssuesComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/record/components/top-bar/modals/modal-biography/modal-biography.component.spec.ts b/src/app/record/components/top-bar/modals/modal-biography/modal-biography.component.spec.ts
index 4a359613d7..0d38e91f35 100644
--- a/src/app/record/components/top-bar/modals/modal-biography/modal-biography.component.spec.ts
+++ b/src/app/record/components/top-bar/modals/modal-biography/modal-biography.component.spec.ts
@@ -18,6 +18,8 @@ import { NoopAnimationsModule } from '@angular/platform-browser/animations'
 import { FormsModule, ReactiveFormsModule } from '@angular/forms'
 import { RecordModule } from '../../../../record.module'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('ModalBiographyComponent', () => {
   let component: ModalBiographyComponent
   let fixture: ComponentFixture<ModalBiographyComponent>
@@ -44,6 +46,7 @@ describe('ModalBiographyComponent', () => {
         MatSnackBar,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   }))
 
diff --git a/src/app/record/components/top-bar/modals/modal-name/modal-name.component.spec.ts b/src/app/record/components/top-bar/modals/modal-name/modal-name.component.spec.ts
index f3bb77dde6..d911e08f86 100644
--- a/src/app/record/components/top-bar/modals/modal-name/modal-name.component.spec.ts
+++ b/src/app/record/components/top-bar/modals/modal-name/modal-name.component.spec.ts
@@ -32,6 +32,8 @@ import { HarnessLoader } from '@angular/cdk/testing'
 import { TestbedHarnessEnvironment } from '@angular/cdk/testing/testbed'
 import { MatLegacyButtonHarness as MatButtonHarness } from '@angular/material/legacy-button/testing'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('ModalNameComponent', () => {
   let component: ModalNameComponent
   let fixture: ComponentFixture<ModalNameComponent>
@@ -83,6 +85,7 @@ describe('ModalNameComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   }))
 
diff --git a/src/app/record/components/top-bar/top-bar.component.spec.ts b/src/app/record/components/top-bar/top-bar.component.spec.ts
index 3fc2774313..779b1f1f4a 100644
--- a/src/app/record/components/top-bar/top-bar.component.spec.ts
+++ b/src/app/record/components/top-bar/top-bar.component.spec.ts
@@ -14,6 +14,8 @@ import { SnackbarService } from '../../../cdk/snackbar/snackbar.service'
 import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('TopBarComponent', () => {
   let component: TopBarComponent
   let fixture: ComponentFixture<TopBarComponent>
@@ -31,6 +33,7 @@ describe('TopBarComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/record/components/work-contributor-role/work-contributor-roles.component.spec.ts b/src/app/record/components/work-contributor-role/work-contributor-roles.component.spec.ts
index 4445c79c60..85fd0ef833 100644
--- a/src/app/record/components/work-contributor-role/work-contributor-roles.component.spec.ts
+++ b/src/app/record/components/work-contributor-role/work-contributor-roles.component.spec.ts
@@ -34,6 +34,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { Overlay } from '@angular/cdk/overlay'
 import { getUserRecord } from '../../../core/record/record.service.spec'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('WorkContributorRoleComponent', () => {
   let component: WorkContributorRolesComponent
   let fixture: ComponentFixture<WorkContributorRolesComponent>
@@ -68,6 +70,7 @@ describe('WorkContributorRoleComponent', () => {
         TogglzService,
         UserService,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/record/components/work-contributors/work-contributors.component.spec.ts b/src/app/record/components/work-contributors/work-contributors.component.spec.ts
index 2f5e0773f9..816a8b2aa7 100644
--- a/src/app/record/components/work-contributors/work-contributors.component.spec.ts
+++ b/src/app/record/components/work-contributors/work-contributors.component.spec.ts
@@ -39,6 +39,8 @@ import { MatLegacyButtonHarness as MatButtonHarness } from '@angular/material/le
 import { ModalModule } from '../../../cdk/modal/modal.module'
 import { getUserRecord } from '../../../core/record/record.service.spec'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('WorkContributorsComponent', () => {
   let component: WorkContributorsComponent
   let fixture: ComponentFixture<WorkContributorsComponent>
@@ -76,6 +78,7 @@ describe('WorkContributorsComponent', () => {
         TogglzService,
         UserService,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/record/components/work-external-identifiers-edit/work-external-identifiers-edit.component.spec.ts b/src/app/record/components/work-external-identifiers-edit/work-external-identifiers-edit.component.spec.ts
index 98d049cb3f..a115eb5798 100644
--- a/src/app/record/components/work-external-identifiers-edit/work-external-identifiers-edit.component.spec.ts
+++ b/src/app/record/components/work-external-identifiers-edit/work-external-identifiers-edit.component.spec.ts
@@ -2,6 +2,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 
 import { WorkExternalIdentifiersEditComponent } from './work-external-identifiers-edit.component'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('WorkExternalIdentifiersEditComponent', () => {
   let component: WorkExternalIdentifiersEditComponent
   let fixture: ComponentFixture<WorkExternalIdentifiersEditComponent>
@@ -9,6 +11,7 @@ describe('WorkExternalIdentifiersEditComponent', () => {
   beforeEach(async () => {
     await TestBed.configureTestingModule({
       declarations: [WorkExternalIdentifiersEditComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/record/components/work-external-identifiers-view-only/work-external-identifiers-view-only.component.spec.ts b/src/app/record/components/work-external-identifiers-view-only/work-external-identifiers-view-only.component.spec.ts
index 59d5abe14f..76157de5de 100644
--- a/src/app/record/components/work-external-identifiers-view-only/work-external-identifiers-view-only.component.spec.ts
+++ b/src/app/record/components/work-external-identifiers-view-only/work-external-identifiers-view-only.component.spec.ts
@@ -2,6 +2,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 
 import { WorkExternalIdentifiersViewOnlyComponent } from './work-external-identifiers-view-only.component'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('ExternalIdentifiersViewOnlyComponent', () => {
   let component: WorkExternalIdentifiersViewOnlyComponent
   let fixture: ComponentFixture<WorkExternalIdentifiersViewOnlyComponent>
@@ -9,6 +11,7 @@ describe('ExternalIdentifiersViewOnlyComponent', () => {
   beforeEach(async () => {
     await TestBed.configureTestingModule({
       declarations: [WorkExternalIdentifiersViewOnlyComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/record/components/work-form/work-form/work-form.component.spec.ts b/src/app/record/components/work-form/work-form/work-form.component.spec.ts
index 53f10179b2..a1d3bfbd80 100644
--- a/src/app/record/components/work-form/work-form/work-form.component.spec.ts
+++ b/src/app/record/components/work-form/work-form/work-form.component.spec.ts
@@ -28,6 +28,8 @@ import { MatLegacyFormFieldModule as MatFormFieldModule } from '@angular/materia
 import { MatLegacySelectModule as MatSelectModule } from '@angular/material/legacy-select'
 import { RecordModule } from '../../../record.module'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('WorkFormComponent', () => {
   let component: WorkFormComponent
   let fixture: ComponentFixture<WorkFormComponent>
@@ -59,6 +61,7 @@ describe('WorkFormComponent', () => {
         MatSnackBar,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/record/components/work-modal/work-modal.component.spec.ts b/src/app/record/components/work-modal/work-modal.component.spec.ts
index 3510e8eda4..cd8bbb7a6f 100644
--- a/src/app/record/components/work-modal/work-modal.component.spec.ts
+++ b/src/app/record/components/work-modal/work-modal.component.spec.ts
@@ -16,6 +16,8 @@ import { RecordWorksService } from '../../../core/record-works/record-works.serv
 import { HttpClientTestingModule } from '@angular/common/http/testing'
 import { RouterTestingModule } from '@angular/router/testing'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('WorkModalComponent', () => {
   let component: WorkModalComponent
   let fixture: ComponentFixture<WorkModalComponent>
@@ -36,6 +38,7 @@ describe('WorkModalComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/record/components/work-stack-group/modals/work-bibtex-modal/work-bibtex-modal.component.spec.ts b/src/app/record/components/work-stack-group/modals/work-bibtex-modal/work-bibtex-modal.component.spec.ts
index 4b6a5777d8..70ed0d8dd1 100644
--- a/src/app/record/components/work-stack-group/modals/work-bibtex-modal/work-bibtex-modal.component.spec.ts
+++ b/src/app/record/components/work-stack-group/modals/work-bibtex-modal/work-bibtex-modal.component.spec.ts
@@ -27,6 +27,8 @@ import { By } from '@angular/platform-browser'
 import { Contributor } from '../../../../../types'
 import { TogglzService } from 'src/app/core/togglz/togglz.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('WorkDoiBibtexModalComponent', () => {
   let component: WorkBibtexModalComponent
   let fixture: ComponentFixture<WorkBibtexModalComponent>
@@ -75,6 +77,7 @@ describe('WorkDoiBibtexModalComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/record/components/work-stack-group/modals/work-external-id-modal/work-external-id-modal.component.spec.ts b/src/app/record/components/work-stack-group/modals/work-external-id-modal/work-external-id-modal.component.spec.ts
index c1dc1857c8..96c5950264 100644
--- a/src/app/record/components/work-stack-group/modals/work-external-id-modal/work-external-id-modal.component.spec.ts
+++ b/src/app/record/components/work-stack-group/modals/work-external-id-modal/work-external-id-modal.component.spec.ts
@@ -14,7 +14,9 @@ import {
 } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 import { RecordWorksService } from '../../../../../core/record-works/record-works.service'
-import { UntypedFormBuilder } from '@angular/forms'
+import { ReactiveFormsModule, UntypedFormBuilder } from '@angular/forms'
+
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
 
 describe('WorkDoiModalComponent', () => {
   let component: WorkExternalIdModalComponent
@@ -22,7 +24,11 @@ describe('WorkDoiModalComponent', () => {
 
   beforeEach(async () => {
     await TestBed.configureTestingModule({
-      imports: [HttpClientTestingModule, RouterTestingModule],
+      imports: [
+        HttpClientTestingModule,
+        RouterTestingModule,
+        ReactiveFormsModule,
+      ],
       declarations: [WorkExternalIdModalComponent],
       providers: [
         { provide: MatDialogRef, useValue: {} },
@@ -36,6 +42,7 @@ describe('WorkDoiModalComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/record/components/work-stack-group/modals/work-search-link-modal/modal-works-search-link.component.spec.ts b/src/app/record/components/work-stack-group/modals/work-search-link-modal/modal-works-search-link.component.spec.ts
index ede8491ac3..410281e3df 100644
--- a/src/app/record/components/work-stack-group/modals/work-search-link-modal/modal-works-search-link.component.spec.ts
+++ b/src/app/record/components/work-stack-group/modals/work-search-link-modal/modal-works-search-link.component.spec.ts
@@ -17,6 +17,8 @@ import { Overlay } from '@angular/cdk/overlay'
 import { HttpClientTestingModule } from '@angular/common/http/testing'
 import { RouterTestingModule } from '@angular/router/testing'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('ModalWorksSearchLink.Component.HtmlComponent', () => {
   let component: ModalWorksSearchLinkComponent
   let fixture: ComponentFixture<ModalWorksSearchLinkComponent>
@@ -37,6 +39,7 @@ describe('ModalWorksSearchLink.Component.HtmlComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/record/components/work-stack-group/work-stack-group.component.spec.ts b/src/app/record/components/work-stack-group/work-stack-group.component.spec.ts
index fba442cbd8..22ca767019 100644
--- a/src/app/record/components/work-stack-group/work-stack-group.component.spec.ts
+++ b/src/app/record/components/work-stack-group/work-stack-group.component.spec.ts
@@ -16,6 +16,8 @@ import { RecordWorksService } from '../../../core/record-works/record-works.serv
 import { HttpClientTestingModule } from '@angular/common/http/testing'
 import { RouterTestingModule } from '@angular/router/testing'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('WorkStackGroupComponent', () => {
   let component: WorkStackGroupComponent
   let fixture: ComponentFixture<WorkStackGroupComponent>
@@ -35,6 +37,7 @@ describe('WorkStackGroupComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/record/components/work-stack/work-stack.component.spec.ts b/src/app/record/components/work-stack/work-stack.component.spec.ts
index 7f086ab5c3..39bfc96bcd 100644
--- a/src/app/record/components/work-stack/work-stack.component.spec.ts
+++ b/src/app/record/components/work-stack/work-stack.component.spec.ts
@@ -12,6 +12,8 @@ import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 import { RecordWorksService } from '../../../core/record-works/record-works.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('WorkStackComponent', () => {
   let component: WorkStackComponent
   let fixture: ComponentFixture<WorkStackComponent>
@@ -30,6 +32,7 @@ describe('WorkStackComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/record/components/work/modals/modal-combine-works-with-selector/modal-combine-works-with-selector.component.spec.ts b/src/app/record/components/work/modals/modal-combine-works-with-selector/modal-combine-works-with-selector.component.spec.ts
index b638399f45..4ac556eb6c 100644
--- a/src/app/record/components/work/modals/modal-combine-works-with-selector/modal-combine-works-with-selector.component.spec.ts
+++ b/src/app/record/components/work/modals/modal-combine-works-with-selector/modal-combine-works-with-selector.component.spec.ts
@@ -17,6 +17,8 @@ import { Overlay } from '@angular/cdk/overlay'
 import { RecordWorksService } from '../../../../../core/record-works/record-works.service'
 import { UntypedFormBuilder } from '@angular/forms'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('ModalCombineWorksWithSelectorComponent', () => {
   let component: ModalCombineWorksWithSelectorComponent
   let fixture: ComponentFixture<ModalCombineWorksWithSelectorComponent>
@@ -38,6 +40,7 @@ describe('ModalCombineWorksWithSelectorComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/record/components/work/modals/modal-combine-works/modal-combine-works.component.spec.ts b/src/app/record/components/work/modals/modal-combine-works/modal-combine-works.component.spec.ts
index c58db38c85..73c6634230 100644
--- a/src/app/record/components/work/modals/modal-combine-works/modal-combine-works.component.spec.ts
+++ b/src/app/record/components/work/modals/modal-combine-works/modal-combine-works.component.spec.ts
@@ -11,6 +11,8 @@ import { SnackbarService } from '../../../../../cdk/snackbar/snackbar.service'
 import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('ModalCombineWorksComponent', () => {
   let component: ModalCombineWorksComponent
   let fixture: ComponentFixture<ModalCombineWorksComponent>
@@ -28,6 +30,7 @@ describe('ModalCombineWorksComponent', () => {
         MatSnackBar,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/record/components/work/modals/modal-export-works/modal-export-works.component.spec.ts b/src/app/record/components/work/modals/modal-export-works/modal-export-works.component.spec.ts
index c2acad386e..4a8b2b0813 100644
--- a/src/app/record/components/work/modals/modal-export-works/modal-export-works.component.spec.ts
+++ b/src/app/record/components/work/modals/modal-export-works/modal-export-works.component.spec.ts
@@ -16,6 +16,8 @@ import { SnackbarService } from '../../../../../cdk/snackbar/snackbar.service'
 import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('ModalExportWorksComponent', () => {
   let component: ModalExportWorksComponent
   let fixture: ComponentFixture<ModalExportWorksComponent>
@@ -36,6 +38,7 @@ describe('ModalExportWorksComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/record/components/work/modals/works-visibility-modal/works-visibility-modal.component.spec.ts b/src/app/record/components/work/modals/works-visibility-modal/works-visibility-modal.component.spec.ts
index 8c5bbba79e..8210f544a1 100644
--- a/src/app/record/components/work/modals/works-visibility-modal/works-visibility-modal.component.spec.ts
+++ b/src/app/record/components/work/modals/works-visibility-modal/works-visibility-modal.component.spec.ts
@@ -17,14 +17,28 @@ import {
 import { Overlay } from '@angular/cdk/overlay'
 import { SharedModule } from '../../../../../shared/shared.module'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+import { ReactiveFormsModule } from '@angular/forms'
+import { VisibilitySelectorComponent } from 'src/app/cdk/visibility-selector/visibility-selector/visibility-selector.component'
+import { MatLegacyMenuModule } from '@angular/material/legacy-menu'
+
 describe('WorksVisibilityModalComponent', () => {
   let component: WorksVisibilityModalComponent
   let fixture: ComponentFixture<WorksVisibilityModalComponent>
 
   beforeEach(async () => {
     await TestBed.configureTestingModule({
-      imports: [HttpClientTestingModule, RouterTestingModule, SharedModule],
-      declarations: [WorksVisibilityModalComponent],
+      imports: [
+        HttpClientTestingModule,
+        RouterTestingModule,
+        SharedModule,
+        ReactiveFormsModule,
+        MatLegacyMenuModule,
+      ],
+      declarations: [
+        WorksVisibilityModalComponent,
+        VisibilitySelectorComponent,
+      ],
       providers: [
         { provide: MatDialogRef, useValue: {} },
         { provide: MAT_DIALOG_DATA, useValue: {} },
@@ -35,8 +49,10 @@ describe('WorksVisibilityModalComponent', () => {
         SnackbarService,
         MatSnackBar,
         MatDialog,
+
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/record/components/work/work.component.spec.ts b/src/app/record/components/work/work.component.spec.ts
index 6c391f5d91..d281571e91 100644
--- a/src/app/record/components/work/work.component.spec.ts
+++ b/src/app/record/components/work/work.component.spec.ts
@@ -14,6 +14,8 @@ import { UserInfoService } from '../../../core/user-info/user-info.service'
 import { RecordWorksService } from '../../../core/record-works/record-works.service'
 import { SharedModule } from '../../../shared/shared.module'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('WorkComponent', () => {
   let component: WorkComponent
   let fixture: ComponentFixture<WorkComponent>
@@ -33,6 +35,7 @@ describe('WorkComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/record/pages/my-orcid/my-orcid.component.spec.ts b/src/app/record/pages/my-orcid/my-orcid.component.spec.ts
index 316ecd8940..20c7c2e8e1 100644
--- a/src/app/record/pages/my-orcid/my-orcid.component.spec.ts
+++ b/src/app/record/pages/my-orcid/my-orcid.component.spec.ts
@@ -26,6 +26,8 @@ import { getSideBarPublicUserRecord } from '../../../core/record-public-side-bar
 import { OpenGraphService } from 'src/app/core/open-graph/open-graph.service'
 import { TitleService } from 'src/app/core/title-service/title.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('MyOrcidComponent', () => {
   let component: MyOrcidComponent
   let fixture: ComponentFixture<MyOrcidComponent>
@@ -61,6 +63,7 @@ describe('MyOrcidComponent', () => {
         OpenGraphService,
         TitleService,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/register/components/backend-error/backend-error.component.spec.ts b/src/app/register/components/backend-error/backend-error.component.spec.ts
index 444341d5e4..47af1a96c2 100644
--- a/src/app/register/components/backend-error/backend-error.component.spec.ts
+++ b/src/app/register/components/backend-error/backend-error.component.spec.ts
@@ -12,6 +12,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { Overlay } from '@angular/cdk/overlay'
 import { SignInService } from '../../../core/sign-in/sign-in.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('BackendErrorComponent', () => {
   let component: BackendErrorComponent
   let fixture: ComponentFixture<BackendErrorComponent>
@@ -30,6 +32,7 @@ describe('BackendErrorComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/register/components/form-anti-robots/form-anti-robots.component.spec.ts b/src/app/register/components/form-anti-robots/form-anti-robots.component.spec.ts
index eb5403a67e..7afe7795e0 100644
--- a/src/app/register/components/form-anti-robots/form-anti-robots.component.spec.ts
+++ b/src/app/register/components/form-anti-robots/form-anti-robots.component.spec.ts
@@ -13,6 +13,8 @@ import { HttpClientTestingModule } from '@angular/common/http/testing'
 import { RouterTestingModule } from '@angular/router/testing'
 import { ErrorStateMatcher } from '@angular/material/core'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('FormAntiRobotsComponent', () => {
   let component: FormAntiRobotsComponent
   let fixture: ComponentFixture<FormAntiRobotsComponent>
@@ -32,6 +34,7 @@ describe('FormAntiRobotsComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/register/components/form-notifications/form-notifications.component.spec.ts b/src/app/register/components/form-notifications/form-notifications.component.spec.ts
index 74d5498538..4da45ff457 100644
--- a/src/app/register/components/form-notifications/form-notifications.component.spec.ts
+++ b/src/app/register/components/form-notifications/form-notifications.component.spec.ts
@@ -15,13 +15,22 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { Overlay } from '@angular/cdk/overlay'
 import { WINDOW_PROVIDERS } from '../../../cdk/window'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+import { ReactiveFormsModule } from '@angular/forms'
+import { MatLegacyCheckboxModule } from '@angular/material/legacy-checkbox'
+
 describe('FormNotificationsComponent', () => {
   let component: FormNotificationsComponent
   let fixture: ComponentFixture<FormNotificationsComponent>
 
   beforeEach(() => {
     TestBed.configureTestingModule({
-      imports: [HttpClientTestingModule, RouterTestingModule],
+      imports: [
+        HttpClientTestingModule,
+        RouterTestingModule,
+        ReactiveFormsModule,
+        MatLegacyCheckboxModule,
+      ],
       declarations: [FormNotificationsComponent],
       providers: [
         WINDOW_PROVIDERS,
@@ -33,6 +42,7 @@ describe('FormNotificationsComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/register/components/form-password/form-password.component.spec.ts b/src/app/register/components/form-password/form-password.component.spec.ts
index 32f79f6159..c2bf84634b 100644
--- a/src/app/register/components/form-password/form-password.component.spec.ts
+++ b/src/app/register/components/form-password/form-password.component.spec.ts
@@ -17,13 +17,21 @@ import { Overlay } from '@angular/cdk/overlay'
 import { RegisterService } from '../../../core/register/register.service'
 import { MdePopoverModule } from '../../../cdk/popover'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+import { ReactiveFormsModule } from '@angular/forms'
+
 describe('FormPasswordComponent', () => {
   let component: FormPasswordComponent
   let fixture: ComponentFixture<FormPasswordComponent>
 
   beforeEach(() => {
     TestBed.configureTestingModule({
-      imports: [HttpClientTestingModule, MdePopoverModule, RouterTestingModule],
+      imports: [
+        HttpClientTestingModule,
+        MdePopoverModule,
+        RouterTestingModule,
+        ReactiveFormsModule,
+      ],
       declarations: [FormPasswordComponent],
       providers: [
         { provide: MatDialogRef, useValue: {} },
@@ -37,6 +45,7 @@ describe('FormPasswordComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/register/components/form-personal-additional-emails/form-personal-additional-emails.component.spec.ts b/src/app/register/components/form-personal-additional-emails/form-personal-additional-emails.component.spec.ts
index f9b8f371b4..11b7ddb72d 100644
--- a/src/app/register/components/form-personal-additional-emails/form-personal-additional-emails.component.spec.ts
+++ b/src/app/register/components/form-personal-additional-emails/form-personal-additional-emails.component.spec.ts
@@ -3,6 +3,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 import { FormPersonalAdditionalEmailsComponent } from './form-personal-additional-emails.component'
 import { MdePopoverModule } from '../../../cdk/popover'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('FormPersonalAdditionalEmailsComponent', () => {
   let component: FormPersonalAdditionalEmailsComponent
   let fixture: ComponentFixture<FormPersonalAdditionalEmailsComponent>
@@ -11,6 +13,7 @@ describe('FormPersonalAdditionalEmailsComponent', () => {
     TestBed.configureTestingModule({
       imports: [MdePopoverModule],
       declarations: [FormPersonalAdditionalEmailsComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/register/components/form-personal/form-personal.component.spec.ts b/src/app/register/components/form-personal/form-personal.component.spec.ts
index 60a438e68b..b72245e404 100644
--- a/src/app/register/components/form-personal/form-personal.component.spec.ts
+++ b/src/app/register/components/form-personal/form-personal.component.spec.ts
@@ -21,6 +21,8 @@ import { ReactivationService } from '../../../core/reactivation/reactivation.ser
 import { MdePopoverModule } from '../../../cdk/popover'
 import { MatLegacyAutocomplete } from '@angular/material/legacy-autocomplete'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('FormPersonalComponent', () => {
   let component: FormPersonalComponent
   let fixture: ComponentFixture<FormPersonalComponent>
@@ -40,6 +42,7 @@ describe('FormPersonalComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/register/components/form-terms/form-terms.component.spec.ts b/src/app/register/components/form-terms/form-terms.component.spec.ts
index 2c933f7bcd..b489821ff8 100644
--- a/src/app/register/components/form-terms/form-terms.component.spec.ts
+++ b/src/app/register/components/form-terms/form-terms.component.spec.ts
@@ -12,6 +12,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { Overlay } from '@angular/cdk/overlay'
 import { RegisterService } from '../../../core/register/register.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('FormTermsComponent', () => {
   let component: FormTermsComponent
   let fixture: ComponentFixture<FormTermsComponent>
@@ -30,6 +32,7 @@ describe('FormTermsComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/register/components/form-visibility/form-visibility.component.spec.ts b/src/app/register/components/form-visibility/form-visibility.component.spec.ts
index 387ddb0103..962b883a55 100644
--- a/src/app/register/components/form-visibility/form-visibility.component.spec.ts
+++ b/src/app/register/components/form-visibility/form-visibility.component.spec.ts
@@ -12,6 +12,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { Overlay } from '@angular/cdk/overlay'
 import { RegisterService } from '../../../core/register/register.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('FormVisibilityComponent', () => {
   let component: FormVisibilityComponent
   let fixture: ComponentFixture<FormVisibilityComponent>
@@ -30,6 +32,7 @@ describe('FormVisibilityComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/register/components/step-a/step-a.component.spec.ts b/src/app/register/components/step-a/step-a.component.spec.ts
index 693ea5d367..71909aec76 100644
--- a/src/app/register/components/step-a/step-a.component.spec.ts
+++ b/src/app/register/components/step-a/step-a.component.spec.ts
@@ -3,22 +3,42 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 import { StepAComponent } from './step-a.component'
 import { HttpClientTestingModule } from '@angular/common/http/testing'
 import { RouterTestingModule } from '@angular/router/testing'
+import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { WINDOW_PROVIDERS } from '../../../cdk/window'
 import { PlatformInfoService } from '../../../cdk/platform-info'
 import { ErrorHandlerService } from '../../../core/error-handler/error-handler.service'
 import { SnackbarService } from '../../../cdk/snackbar/snackbar.service'
-import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+import {
+  FormGroup,
+  ReactiveFormsModule,
+  UntypedFormControl,
+  UntypedFormGroup,
+} from '@angular/forms'
+import { BaseStepDirective } from '../BaseStep'
+import { MdePopover, MdePopoverTrigger } from 'src/app/cdk/popover'
+import { FormPersonalComponent } from 'src/app/register2/components/form-personal/form-personal.component'
+
 describe('StepAComponent', () => {
   let component: StepAComponent
   let fixture: ComponentFixture<StepAComponent>
 
   beforeEach(() => {
     TestBed.configureTestingModule({
-      imports: [HttpClientTestingModule, RouterTestingModule],
-      declarations: [StepAComponent],
+      imports: [
+        HttpClientTestingModule,
+        RouterTestingModule,
+        ReactiveFormsModule,
+      ],
+      declarations: [
+        StepAComponent,
+        FormPersonalComponent,
+        MdePopoverTrigger,
+        MdePopover,
+      ],
       providers: [
         WINDOW_PROVIDERS,
         PlatformInfoService,
@@ -28,12 +48,16 @@ describe('StepAComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
   beforeEach(() => {
     fixture = TestBed.createComponent(StepAComponent)
     component = fixture.componentInstance
+    component.formGroup = new UntypedFormGroup({
+      personal: new UntypedFormControl(''),
+    })
     fixture.detectChanges()
   })
 
diff --git a/src/app/register/components/top-bar-record-issues/top-bar-record-issues.component.spec.ts b/src/app/register/components/top-bar-record-issues/top-bar-record-issues.component.spec.ts
index 4255f98cad..65faca1562 100644
--- a/src/app/register/components/top-bar-record-issues/top-bar-record-issues.component.spec.ts
+++ b/src/app/register/components/top-bar-record-issues/top-bar-record-issues.component.spec.ts
@@ -2,6 +2,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 
 import { TopBarRecordIssuesComponent } from './top-bar-record-issues.component'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('TopBarRecordIssuesComponent', () => {
   let component: TopBarRecordIssuesComponent
   let fixture: ComponentFixture<TopBarRecordIssuesComponent>
@@ -9,6 +11,7 @@ describe('TopBarRecordIssuesComponent', () => {
   beforeEach(async () => {
     await TestBed.configureTestingModule({
       declarations: [TopBarRecordIssuesComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/register/pages/register/register.component.spec.ts b/src/app/register/pages/register/register.component.spec.ts
index 1967801d07..eee68bf4a9 100644
--- a/src/app/register/pages/register/register.component.spec.ts
+++ b/src/app/register/pages/register/register.component.spec.ts
@@ -18,6 +18,8 @@ import { RegisterService } from '../../../core/register/register.service'
 import { UserService } from '../../../core'
 import { SearchService } from '../../../core/search/search.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('RegisterComponent', () => {
   let component: RegisterComponent
   let fixture: ComponentFixture<RegisterComponent>
@@ -39,6 +41,7 @@ describe('RegisterComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/register2/components/backend-error/backend-error.component.spec.ts b/src/app/register2/components/backend-error/backend-error.component.spec.ts
index 444341d5e4..47af1a96c2 100644
--- a/src/app/register2/components/backend-error/backend-error.component.spec.ts
+++ b/src/app/register2/components/backend-error/backend-error.component.spec.ts
@@ -12,6 +12,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { Overlay } from '@angular/cdk/overlay'
 import { SignInService } from '../../../core/sign-in/sign-in.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('BackendErrorComponent', () => {
   let component: BackendErrorComponent
   let fixture: ComponentFixture<BackendErrorComponent>
@@ -30,6 +32,7 @@ describe('BackendErrorComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/register2/components/form-anti-robots/form-anti-robots.component.spec.ts b/src/app/register2/components/form-anti-robots/form-anti-robots.component.spec.ts
index ee7286cf9d..5b64b57dbc 100644
--- a/src/app/register2/components/form-anti-robots/form-anti-robots.component.spec.ts
+++ b/src/app/register2/components/form-anti-robots/form-anti-robots.component.spec.ts
@@ -13,6 +13,8 @@ import { ErrorHandlerService } from '../../../core/error-handler/error-handler.s
 import { Register2Service } from '../../../core/register2/register2.service'
 import { FormAntiRobotsComponent } from './form-anti-robots.component'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('FormAntiRobotsComponent', () => {
   let component: FormAntiRobotsComponent
   let fixture: ComponentFixture<FormAntiRobotsComponent>
@@ -32,6 +34,7 @@ describe('FormAntiRobotsComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/register2/components/form-current-employment/form-current-employment.component.spec.ts b/src/app/register2/components/form-current-employment/form-current-employment.component.spec.ts
index 1eb944aa77..c3ded611a2 100644
--- a/src/app/register2/components/form-current-employment/form-current-employment.component.spec.ts
+++ b/src/app/register2/components/form-current-employment/form-current-employment.component.spec.ts
@@ -19,6 +19,8 @@ import {
 } from '@angular/material/legacy-autocomplete'
 import { SharedModule } from 'src/app/shared/shared.module'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('FormPersonalComponent', () => {
   let component: FormCurrentEmploymentComponent
   let fixture: ComponentFixture<FormCurrentEmploymentComponent>
@@ -44,6 +46,7 @@ describe('FormPersonalComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/register2/components/form-notifications/form-notifications.component.spec.ts b/src/app/register2/components/form-notifications/form-notifications.component.spec.ts
index 4489db6ff2..8734d9d3b7 100644
--- a/src/app/register2/components/form-notifications/form-notifications.component.spec.ts
+++ b/src/app/register2/components/form-notifications/form-notifications.component.spec.ts
@@ -12,13 +12,22 @@ import { ErrorHandlerService } from '../../../core/error-handler/error-handler.s
 import { Register2Service } from '../../../core/register2/register2.service'
 import { FormNotificationsComponent } from './form-notifications.component'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+import { ReactiveFormsModule } from '@angular/forms'
+import { MatLegacyCheckboxModule } from '@angular/material/legacy-checkbox'
+
 describe('FormNotificationsComponent', () => {
   let component: FormNotificationsComponent
   let fixture: ComponentFixture<FormNotificationsComponent>
 
   beforeEach(() => {
     TestBed.configureTestingModule({
-      imports: [HttpClientTestingModule, RouterTestingModule],
+      imports: [
+        HttpClientTestingModule,
+        RouterTestingModule,
+        ReactiveFormsModule,
+        MatLegacyCheckboxModule,
+      ],
       declarations: [FormNotificationsComponent],
       providers: [
         WINDOW_PROVIDERS,
@@ -30,6 +39,7 @@ describe('FormNotificationsComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/register2/components/form-password/form-password.component.spec.ts b/src/app/register2/components/form-password/form-password.component.spec.ts
index 8fb75fe8d3..b4c5282752 100644
--- a/src/app/register2/components/form-password/form-password.component.spec.ts
+++ b/src/app/register2/components/form-password/form-password.component.spec.ts
@@ -17,13 +17,21 @@ import { ErrorHandlerService } from '../../../core/error-handler/error-handler.s
 import { Register2Service } from '../../../core/register2/register2.service'
 import { FormPasswordComponent } from './form-password.component'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+import { ReactiveFormsModule } from '@angular/forms'
+
 describe('FormPasswordComponent', () => {
   let component: FormPasswordComponent
   let fixture: ComponentFixture<FormPasswordComponent>
 
   beforeEach(() => {
     TestBed.configureTestingModule({
-      imports: [HttpClientTestingModule, MdePopoverModule, RouterTestingModule],
+      imports: [
+        HttpClientTestingModule,
+        MdePopoverModule,
+        RouterTestingModule,
+        ReactiveFormsModule,
+      ],
       declarations: [FormPasswordComponent],
       providers: [
         { provide: MatDialogRef, useValue: {} },
@@ -37,6 +45,7 @@ describe('FormPasswordComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/register2/components/form-personal-additional-emails/form-personal-additional-emails.component.spec.ts b/src/app/register2/components/form-personal-additional-emails/form-personal-additional-emails.component.spec.ts
index f9b8f371b4..11b7ddb72d 100644
--- a/src/app/register2/components/form-personal-additional-emails/form-personal-additional-emails.component.spec.ts
+++ b/src/app/register2/components/form-personal-additional-emails/form-personal-additional-emails.component.spec.ts
@@ -3,6 +3,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 import { FormPersonalAdditionalEmailsComponent } from './form-personal-additional-emails.component'
 import { MdePopoverModule } from '../../../cdk/popover'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('FormPersonalAdditionalEmailsComponent', () => {
   let component: FormPersonalAdditionalEmailsComponent
   let fixture: ComponentFixture<FormPersonalAdditionalEmailsComponent>
@@ -11,6 +13,7 @@ describe('FormPersonalAdditionalEmailsComponent', () => {
     TestBed.configureTestingModule({
       imports: [MdePopoverModule],
       declarations: [FormPersonalAdditionalEmailsComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/register2/components/form-personal/form-personal.component.spec.ts b/src/app/register2/components/form-personal/form-personal.component.spec.ts
index 50fd107f33..8cfe5e01e3 100644
--- a/src/app/register2/components/form-personal/form-personal.component.spec.ts
+++ b/src/app/register2/components/form-personal/form-personal.component.spec.ts
@@ -14,6 +14,8 @@ import { ReactivationService } from '../../../core/reactivation/reactivation.ser
 import { Register2Service } from '../../../core/register2/register2.service'
 import { FormPersonalComponent } from './form-personal.component'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('FormPersonalComponent', () => {
   let component: FormPersonalComponent
   let fixture: ComponentFixture<FormPersonalComponent>
@@ -33,6 +35,7 @@ describe('FormPersonalComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/register2/components/form-terms/form-terms.component.spec.ts b/src/app/register2/components/form-terms/form-terms.component.spec.ts
index f80a36cf46..eebdb88b4d 100644
--- a/src/app/register2/components/form-terms/form-terms.component.spec.ts
+++ b/src/app/register2/components/form-terms/form-terms.component.spec.ts
@@ -12,6 +12,8 @@ import { ErrorHandlerService } from '../../../core/error-handler/error-handler.s
 import { Register2Service } from '../../../core/register2/register2.service'
 import { FormTermsComponent } from './form-terms.component'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('FormTermsComponent', () => {
   let component: FormTermsComponent
   let fixture: ComponentFixture<FormTermsComponent>
@@ -30,6 +32,7 @@ describe('FormTermsComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/register2/components/form-visibility/form-visibility.component.spec.ts b/src/app/register2/components/form-visibility/form-visibility.component.spec.ts
index 4e0ac5bf54..22745949f6 100644
--- a/src/app/register2/components/form-visibility/form-visibility.component.spec.ts
+++ b/src/app/register2/components/form-visibility/form-visibility.component.spec.ts
@@ -12,6 +12,8 @@ import { ErrorHandlerService } from '../../../core/error-handler/error-handler.s
 import { Register2Service } from '../../../core/register2/register2.service'
 import { FormVisibilityComponent } from './form-visibility.component'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('FormVisibilityComponent', () => {
   let component: FormVisibilityComponent
   let fixture: ComponentFixture<FormVisibilityComponent>
@@ -30,6 +32,7 @@ describe('FormVisibilityComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/register2/components/step-a/step-a.component.spec.ts b/src/app/register2/components/step-a/step-a.component.spec.ts
index 693ea5d367..0e511f0160 100644
--- a/src/app/register2/components/step-a/step-a.component.spec.ts
+++ b/src/app/register2/components/step-a/step-a.component.spec.ts
@@ -11,14 +11,26 @@ import { SnackbarService } from '../../../cdk/snackbar/snackbar.service'
 import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+import {
+  ReactiveFormsModule,
+  UntypedFormControl,
+  UntypedFormGroup,
+} from '@angular/forms'
+import { FormPersonalComponent } from '../form-personal/form-personal.component'
+
 describe('StepAComponent', () => {
   let component: StepAComponent
   let fixture: ComponentFixture<StepAComponent>
 
   beforeEach(() => {
     TestBed.configureTestingModule({
-      imports: [HttpClientTestingModule, RouterTestingModule],
-      declarations: [StepAComponent],
+      imports: [
+        HttpClientTestingModule,
+        RouterTestingModule,
+        ReactiveFormsModule,
+      ],
+      declarations: [StepAComponent, FormPersonalComponent],
       providers: [
         WINDOW_PROVIDERS,
         PlatformInfoService,
@@ -28,12 +40,16 @@ describe('StepAComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
   beforeEach(() => {
     fixture = TestBed.createComponent(StepAComponent)
     component = fixture.componentInstance
+    component.formGroup = new UntypedFormGroup({
+      personal: new UntypedFormControl(),
+    })
     fixture.detectChanges()
   })
 
diff --git a/src/app/register2/components/step-b/step-b.component.spec.ts b/src/app/register2/components/step-b/step-b.component.spec.ts
index d8ed95bef5..15bbad2a46 100644
--- a/src/app/register2/components/step-b/step-b.component.spec.ts
+++ b/src/app/register2/components/step-b/step-b.component.spec.ts
@@ -2,19 +2,43 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 
 import { StepBComponent } from './step-b.component'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+import {
+  ReactiveFormsModule,
+  UntypedFormControl,
+  UntypedFormGroup,
+} from '@angular/forms'
+import { FormPasswordComponent } from '../form-password/form-password.component'
+import { HttpClientModule } from '@angular/common/http'
+import { RouterTestingModule } from '@angular/router/testing'
+import { WINDOW_PROVIDERS } from 'src/app/cdk/window'
+import { SnackbarService } from 'src/app/cdk/snackbar/snackbar.service'
+import { MatLegacySnackBarModule } from '@angular/material/legacy-snack-bar'
+
 describe('StepBComponent', () => {
   let component: StepBComponent
   let fixture: ComponentFixture<StepBComponent>
 
   beforeEach(() => {
     TestBed.configureTestingModule({
-      declarations: [StepBComponent],
+      imports: [
+        ReactiveFormsModule,
+        HttpClientModule,
+        RouterTestingModule,
+        MatLegacySnackBarModule,
+      ],
+      declarations: [StepBComponent, FormPasswordComponent],
+      providers: [WINDOW_PROVIDERS, SnackbarService],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
   beforeEach(() => {
     fixture = TestBed.createComponent(StepBComponent)
     component = fixture.componentInstance
+    component.formGroup = new UntypedFormGroup({
+      password: new UntypedFormControl(),
+    })
     fixture.detectChanges()
   })
 
diff --git a/src/app/register2/register-state.service.spec.ts b/src/app/register2/register-state.service.spec.ts
index 4c4c0b9673..5be2466a07 100644
--- a/src/app/register2/register-state.service.spec.ts
+++ b/src/app/register2/register-state.service.spec.ts
@@ -2,6 +2,8 @@ import { TestBed } from '@angular/core/testing'
 
 import { RegisterStateService } from './register-state.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('RegisterStateService', () => {
   let service: RegisterStateService
 
diff --git a/src/app/reset-password/reset-password/reset-password.component.spec.ts b/src/app/reset-password/reset-password/reset-password.component.spec.ts
index 035b4fd815..b186495e6a 100644
--- a/src/app/reset-password/reset-password/reset-password.component.spec.ts
+++ b/src/app/reset-password/reset-password/reset-password.component.spec.ts
@@ -15,6 +15,8 @@ import { RegisterService } from '../../core/register/register.service'
 import { PasswordRecoveryService } from '../../core/password-recovery/password-recovery.service'
 import { MdePopoverModule } from '../../cdk/popover'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('ResetPasswordComponent', () => {
   let component: ResetPasswordComponent
   let fixture: ComponentFixture<ResetPasswordComponent>
@@ -35,6 +37,7 @@ describe('ResetPasswordComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/search/components/advance-search/advance-search.component.spec.ts b/src/app/search/components/advance-search/advance-search.component.spec.ts
index 9b1cb775cf..e8e17cbd64 100644
--- a/src/app/search/components/advance-search/advance-search.component.spec.ts
+++ b/src/app/search/components/advance-search/advance-search.component.spec.ts
@@ -11,6 +11,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('AdvanceSearchComponent', () => {
   let component: AdvanceSearchComponent
   let fixture: ComponentFixture<AdvanceSearchComponent>
@@ -28,6 +30,7 @@ describe('AdvanceSearchComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/search/components/results/results.component.spec.ts b/src/app/search/components/results/results.component.spec.ts
index 06f15d25da..75d7ca34c3 100644
--- a/src/app/search/components/results/results.component.spec.ts
+++ b/src/app/search/components/results/results.component.spec.ts
@@ -2,6 +2,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 
 import { ResultsComponent } from './results.component'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('ResultsComponent', () => {
   let component: ResultsComponent
   let fixture: ComponentFixture<ResultsComponent>
@@ -9,6 +11,7 @@ describe('ResultsComponent', () => {
   beforeEach(() => {
     TestBed.configureTestingModule({
       declarations: [ResultsComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/search/pages/search/search.component.spec.ts b/src/app/search/pages/search/search.component.spec.ts
index 2148a8d98c..49e1bc845a 100644
--- a/src/app/search/pages/search/search.component.spec.ts
+++ b/src/app/search/pages/search/search.component.spec.ts
@@ -11,13 +11,16 @@ import { SearchService } from '../../../core/search/search.service'
 import { RouterTestingModule } from '@angular/router/testing'
 import { HttpClientTestingModule } from '@angular/common/http/testing'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+import { FormsModule } from '@angular/forms'
+
 describe('SearchComponent', () => {
   let component: SearchComponent
   let fixture: ComponentFixture<SearchComponent>
 
   beforeEach(() => {
     TestBed.configureTestingModule({
-      imports: [RouterTestingModule, HttpClientTestingModule],
+      imports: [RouterTestingModule, HttpClientTestingModule, FormsModule],
       declarations: [SearchComponent],
       providers: [
         WINDOW_PROVIDERS,
@@ -28,6 +31,7 @@ describe('SearchComponent', () => {
         MatSnackBar,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/self-service/self-service/self-service.component.spec.ts b/src/app/self-service/self-service/self-service.component.spec.ts
index cafcf5013b..3bad52d8e3 100644
--- a/src/app/self-service/self-service/self-service.component.spec.ts
+++ b/src/app/self-service/self-service/self-service.component.spec.ts
@@ -11,6 +11,8 @@ import { SnackbarService } from '../../cdk/snackbar/snackbar.service'
 import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'
 import { Overlay } from '@angular/cdk/overlay'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SelfServiceComponent', () => {
   let component: SelfServiceComponent
   let fixture: ComponentFixture<SelfServiceComponent>
@@ -28,6 +30,7 @@ describe('SelfServiceComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/shared/components/copy-on-click/copy-on-click.component.spec.ts b/src/app/shared/components/copy-on-click/copy-on-click.component.spec.ts
index a9d4cc846e..b86bca0804 100644
--- a/src/app/shared/components/copy-on-click/copy-on-click.component.spec.ts
+++ b/src/app/shared/components/copy-on-click/copy-on-click.component.spec.ts
@@ -2,6 +2,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 
 import { CopyOnClickComponent } from './copy-on-click.component'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('CopyOnClickComponent', () => {
   let component: CopyOnClickComponent
   let fixture: ComponentFixture<CopyOnClickComponent>
@@ -9,6 +11,7 @@ describe('CopyOnClickComponent', () => {
   beforeEach(() => {
     TestBed.configureTestingModule({
       declarations: [CopyOnClickComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/shared/components/offline-message/offline-message.component.spec.ts b/src/app/shared/components/offline-message/offline-message.component.spec.ts
index a77520648c..62ffd87f06 100644
--- a/src/app/shared/components/offline-message/offline-message.component.spec.ts
+++ b/src/app/shared/components/offline-message/offline-message.component.spec.ts
@@ -2,6 +2,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'
 
 import { OfflineMessageComponent } from './offline-message.component'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('OfflineMessageComponent', () => {
   let component: OfflineMessageComponent
   let fixture: ComponentFixture<OfflineMessageComponent>
@@ -9,6 +11,7 @@ describe('OfflineMessageComponent', () => {
   beforeEach(() => {
     TestBed.configureTestingModule({
       declarations: [OfflineMessageComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/shared/components/showing-of/showing-of.component.spec.ts b/src/app/shared/components/showing-of/showing-of.component.spec.ts
index 9b1cf42f83..6f6ae448b4 100644
--- a/src/app/shared/components/showing-of/showing-of.component.spec.ts
+++ b/src/app/shared/components/showing-of/showing-of.component.spec.ts
@@ -2,6 +2,8 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'
 
 import { ShowingOfComponent } from './showing-of.component'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('ShowingOfComponent', () => {
   let component: ShowingOfComponent
   let fixture: ComponentFixture<ShowingOfComponent>
@@ -9,6 +11,7 @@ describe('ShowingOfComponent', () => {
   beforeEach(waitForAsync(() => {
     TestBed.configureTestingModule({
       declarations: [ShowingOfComponent],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   }))
 
diff --git a/src/app/shared/directives/copy-on-click/copy-on-click.directive.spec.ts b/src/app/shared/directives/copy-on-click/copy-on-click.directive.spec.ts
index 7d9aacebd9..03fb0de070 100644
--- a/src/app/shared/directives/copy-on-click/copy-on-click.directive.spec.ts
+++ b/src/app/shared/directives/copy-on-click/copy-on-click.directive.spec.ts
@@ -1,5 +1,7 @@
 import { ElementRef } from '@angular/core'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('CopyOnClickDirective', () => {
   it('should create an instance', () => {})
 })
diff --git a/src/app/shared/pipes/affiliation-label.pipe.spec.ts b/src/app/shared/pipes/affiliation-label.pipe.spec.ts
index 2c67c319a0..688207e09b 100644
--- a/src/app/shared/pipes/affiliation-label.pipe.spec.ts
+++ b/src/app/shared/pipes/affiliation-label.pipe.spec.ts
@@ -1,5 +1,7 @@
 import { AffiliationLabelPipe } from './affiliation-label.pipe'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('AffiliationLabelPipe', () => {
   it('create an instance', () => {
     const pipe = new AffiliationLabelPipe()
diff --git a/src/app/shared/pipes/affiliation-type-label/affiliation-type-label.pipe.spec.ts b/src/app/shared/pipes/affiliation-type-label/affiliation-type-label.pipe.spec.ts
index 7e39c4c5a3..6d196b00e6 100644
--- a/src/app/shared/pipes/affiliation-type-label/affiliation-type-label.pipe.spec.ts
+++ b/src/app/shared/pipes/affiliation-type-label/affiliation-type-label.pipe.spec.ts
@@ -1,5 +1,7 @@
 import { AffiliationTypeLabelPipe } from './affiliation-type-label.pipe'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('AffiliationTypeLabelPipe', () => {
   it('create an instance', () => {
     const pipe = new AffiliationTypeLabelPipe()
diff --git a/src/app/shared/pipes/affiliation-type/affiliation-type.pipe.spec.ts b/src/app/shared/pipes/affiliation-type/affiliation-type.pipe.spec.ts
index fb1bc0eb32..c43d037df9 100644
--- a/src/app/shared/pipes/affiliation-type/affiliation-type.pipe.spec.ts
+++ b/src/app/shared/pipes/affiliation-type/affiliation-type.pipe.spec.ts
@@ -1,5 +1,7 @@
 import { AffiliationTypePipe } from './affiliation-type.pipe'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('AffiliationTypePipe', () => {
   it('create an instance', () => {
     const pipe = new AffiliationTypePipe()
diff --git a/src/app/shared/pipes/app-panel-activity-action-aria-label/app-panel-activity-action-aria-label.pipe.spec.ts b/src/app/shared/pipes/app-panel-activity-action-aria-label/app-panel-activity-action-aria-label.pipe.spec.ts
index 5edaa85b96..51ebdc370b 100644
--- a/src/app/shared/pipes/app-panel-activity-action-aria-label/app-panel-activity-action-aria-label.pipe.spec.ts
+++ b/src/app/shared/pipes/app-panel-activity-action-aria-label/app-panel-activity-action-aria-label.pipe.spec.ts
@@ -1,5 +1,7 @@
 import { AppPanelActivityActionAriaLabelPipe } from './app-panel-activity-action-aria-label.pipe'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('AppPanelActivityActionAriaLabelPipe', () => {
   it('create an instance', () => {
     const pipe = new AppPanelActivityActionAriaLabelPipe()
diff --git a/src/app/shared/pipes/app-panels-add-aria-label/app-panels-add-aria-label.pipe.spec.ts b/src/app/shared/pipes/app-panels-add-aria-label/app-panels-add-aria-label.pipe.spec.ts
index 15c846b3a5..6f284b79bb 100644
--- a/src/app/shared/pipes/app-panels-add-aria-label/app-panels-add-aria-label.pipe.spec.ts
+++ b/src/app/shared/pipes/app-panels-add-aria-label/app-panels-add-aria-label.pipe.spec.ts
@@ -1,5 +1,7 @@
 import { AppPanelsAddAriaLabelPipe } from './app-panels-add-aria-label.pipe'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('AppPanelsAddAriaLabelPipe', () => {
   it('create an instance', () => {
     const pipe = new AppPanelsAddAriaLabelPipe()
diff --git a/src/app/shared/pipes/app-panels-collapse-aria-label/app-panels-collapse-aria-label.pipe.spec.ts b/src/app/shared/pipes/app-panels-collapse-aria-label/app-panels-collapse-aria-label.pipe.spec.ts
index 4d33d8045b..8c69fb93bd 100644
--- a/src/app/shared/pipes/app-panels-collapse-aria-label/app-panels-collapse-aria-label.pipe.spec.ts
+++ b/src/app/shared/pipes/app-panels-collapse-aria-label/app-panels-collapse-aria-label.pipe.spec.ts
@@ -1,5 +1,7 @@
 import { AppPanelsCollapseAriaLabelPipe } from './app-panels-collapse-aria-label.pipe'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('AppPanelsCollapseAriaLabelPipe', () => {
   it('create an instance', () => {
     const pipe = new AppPanelsCollapseAriaLabelPipe()
diff --git a/src/app/shared/pipes/app-panels-expand-aria-label/app-panels-expand-aria-label.pipe.spec.ts b/src/app/shared/pipes/app-panels-expand-aria-label/app-panels-expand-aria-label.pipe.spec.ts
index b5dbe1c2f9..53847847ad 100644
--- a/src/app/shared/pipes/app-panels-expand-aria-label/app-panels-expand-aria-label.pipe.spec.ts
+++ b/src/app/shared/pipes/app-panels-expand-aria-label/app-panels-expand-aria-label.pipe.spec.ts
@@ -1,5 +1,7 @@
 import { AppPanelsExpandAriaLabelPipe } from './app-panels-expand-aria-label.pipe'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('AppPanelsExpandAriaLabelPipe', () => {
   it('create an instance', () => {
     const pipe = new AppPanelsExpandAriaLabelPipe()
diff --git a/src/app/shared/pipes/app-panels-sort-aria-label/app-panels-sort-aria-label.pipe.spec.ts b/src/app/shared/pipes/app-panels-sort-aria-label/app-panels-sort-aria-label.pipe.spec.ts
index fe306052e2..6b46bd888d 100644
--- a/src/app/shared/pipes/app-panels-sort-aria-label/app-panels-sort-aria-label.pipe.spec.ts
+++ b/src/app/shared/pipes/app-panels-sort-aria-label/app-panels-sort-aria-label.pipe.spec.ts
@@ -1,5 +1,7 @@
 import { AppPanelsSortAriaLabelPipe } from '../../pipes/app-panels-sort-aria-label/app-panels-sort-aria-label.pipe'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('AppPanelsSortAriaLabelPipe', () => {
   it('create an instance', () => {
     const pipe = new AppPanelsSortAriaLabelPipe()
diff --git a/src/app/shared/pipes/app-panels-sort-by-aria-label/app-panels-sort-by-aria-label.pipe.spec.ts b/src/app/shared/pipes/app-panels-sort-by-aria-label/app-panels-sort-by-aria-label.pipe.spec.ts
index f7431ae4bc..24e52ae59d 100644
--- a/src/app/shared/pipes/app-panels-sort-by-aria-label/app-panels-sort-by-aria-label.pipe.spec.ts
+++ b/src/app/shared/pipes/app-panels-sort-by-aria-label/app-panels-sort-by-aria-label.pipe.spec.ts
@@ -1,5 +1,7 @@
 import { AppPanelsSortByAriaLabelPipe } from './app-panels-sort-by-aria-label.pipe'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('AppPanelsSortByAriaLabelPipe', () => {
   it('create an instance', () => {
     const pipe = new AppPanelsSortByAriaLabelPipe()
diff --git a/src/app/shared/pipes/city-region-country/city-region-country.pipe.spec.ts b/src/app/shared/pipes/city-region-country/city-region-country.pipe.spec.ts
index 2c6f9573be..55833d5276 100644
--- a/src/app/shared/pipes/city-region-country/city-region-country.pipe.spec.ts
+++ b/src/app/shared/pipes/city-region-country/city-region-country.pipe.spec.ts
@@ -1,5 +1,7 @@
 import { CityRegionCountry } from './city-region-country.pipe'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('RegionCityCountryPipe', () => {
   it('create an instance', () => {
     const pipe = new CityRegionCountry()
diff --git a/src/app/shared/pipes/contributors-pipe/contributors.pipe.spec.ts b/src/app/shared/pipes/contributors-pipe/contributors.pipe.spec.ts
index dc9f7f9d8b..3c716575f2 100644
--- a/src/app/shared/pipes/contributors-pipe/contributors.pipe.spec.ts
+++ b/src/app/shared/pipes/contributors-pipe/contributors.pipe.spec.ts
@@ -1,5 +1,7 @@
 import { ContributorsPipe } from './contributors.pipe'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('ContributorsPipe', () => {
   it('create an instance', () => {
     const pipe = new ContributorsPipe()
diff --git a/src/app/shared/pipes/contributors-roles/contributor-roles.pipe.spec.ts b/src/app/shared/pipes/contributors-roles/contributor-roles.pipe.spec.ts
index d0aee6f7a5..52b3f53125 100644
--- a/src/app/shared/pipes/contributors-roles/contributor-roles.pipe.spec.ts
+++ b/src/app/shared/pipes/contributors-roles/contributor-roles.pipe.spec.ts
@@ -1,5 +1,7 @@
 import { ContributorRolesPipe } from './contributor-roles.pipe'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('ContributorRolesPipe', () => {
   let pipe: ContributorRolesPipe
 
diff --git a/src/app/shared/pipes/disabled-role/disable-role.pipe.spec.ts b/src/app/shared/pipes/disabled-role/disable-role.pipe.spec.ts
index 3c7a2d43b4..5f04c3482b 100644
--- a/src/app/shared/pipes/disabled-role/disable-role.pipe.spec.ts
+++ b/src/app/shared/pipes/disabled-role/disable-role.pipe.spec.ts
@@ -1,6 +1,8 @@
 import { DisableRolePipe } from './disable-role.pipe'
 import { UntypedFormBuilder } from '@angular/forms'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('DisableRolePipe', () => {
   let pipe: DisableRolePipe
 
diff --git a/src/app/shared/pipes/edit-button-aria-label/edit-button-aria-label.pipe.spec.ts b/src/app/shared/pipes/edit-button-aria-label/edit-button-aria-label.pipe.spec.ts
index c50b6d1138..94065cafed 100644
--- a/src/app/shared/pipes/edit-button-aria-label/edit-button-aria-label.pipe.spec.ts
+++ b/src/app/shared/pipes/edit-button-aria-label/edit-button-aria-label.pipe.spec.ts
@@ -1,5 +1,7 @@
 import { EditButtonAriaLabelPipe } from './edit-button-aria-label.pipe'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('EditButtonAriaLabelPipe', () => {
   it('create an instance', () => {
     const pipe = new EditButtonAriaLabelPipe()
diff --git a/src/app/shared/pipes/email-frequency-label/email-frequency-label.pipe.spec.ts b/src/app/shared/pipes/email-frequency-label/email-frequency-label.pipe.spec.ts
index 663e693801..031c4dd2c9 100644
--- a/src/app/shared/pipes/email-frequency-label/email-frequency-label.pipe.spec.ts
+++ b/src/app/shared/pipes/email-frequency-label/email-frequency-label.pipe.spec.ts
@@ -1,5 +1,7 @@
 import { EmailFrequencyLabelPipe } from './email-frequency-label.pipe'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('EmailFrequencyLabelPipe', () => {
   it('create an instance', () => {
     const pipe = new EmailFrequencyLabelPipe()
diff --git a/src/app/shared/pipes/format-bibtex/format-bibtex.pipe.spec.ts b/src/app/shared/pipes/format-bibtex/format-bibtex.pipe.spec.ts
index c4d4b91710..f61a91c2a5 100644
--- a/src/app/shared/pipes/format-bibtex/format-bibtex.pipe.spec.ts
+++ b/src/app/shared/pipes/format-bibtex/format-bibtex.pipe.spec.ts
@@ -1,5 +1,7 @@
 import { FormatBibtex } from './format-bibtex.pipe'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('FormatBibtexPipe', () => {
   it('create an instance', () => {
     const pipe = new FormatBibtex()
diff --git a/src/app/shared/pipes/is-url-with-protocol/is-url-with-protocol.pipe.spec.ts b/src/app/shared/pipes/is-url-with-protocol/is-url-with-protocol.pipe.spec.ts
index 66132981c7..c0840f7e07 100644
--- a/src/app/shared/pipes/is-url-with-protocol/is-url-with-protocol.pipe.spec.ts
+++ b/src/app/shared/pipes/is-url-with-protocol/is-url-with-protocol.pipe.spec.ts
@@ -1,5 +1,7 @@
 import { IsUrlWithProtocolPipe } from './is-url-with-protocol.pipe'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('IsUrlWithProtocolPipe', () => {
   let pipe: IsUrlWithProtocolPipe
 
diff --git a/src/app/shared/pipes/is-url/is-url.pipe.spec.ts b/src/app/shared/pipes/is-url/is-url.pipe.spec.ts
index acc1fe655f..992f35fae3 100644
--- a/src/app/shared/pipes/is-url/is-url.pipe.spec.ts
+++ b/src/app/shared/pipes/is-url/is-url.pipe.spec.ts
@@ -1,5 +1,7 @@
 import { IsUrlPipe } from './is-url.pipe'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('IsUrlPipe', () => {
   let pipe: IsUrlPipe
 
diff --git a/src/app/shared/pipes/month-day-year-date-to-string/month-day-year-date-to-string.pipe.spec.ts b/src/app/shared/pipes/month-day-year-date-to-string/month-day-year-date-to-string.pipe.spec.ts
index b97d41d13a..44c44065c4 100644
--- a/src/app/shared/pipes/month-day-year-date-to-string/month-day-year-date-to-string.pipe.spec.ts
+++ b/src/app/shared/pipes/month-day-year-date-to-string/month-day-year-date-to-string.pipe.spec.ts
@@ -1,5 +1,7 @@
 import { MonthDayYearDateToStringPipe } from './month-day-year-date-to-string.pipe'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('MonthDayYearDateToStringPipe', () => {
   it('create an instance', () => {
     const pipe = new MonthDayYearDateToStringPipe()
diff --git a/src/app/shared/pipes/organization-link/organization-link.pipe.spec.ts b/src/app/shared/pipes/organization-link/organization-link.pipe.spec.ts
index 24982f7206..f643b58331 100644
--- a/src/app/shared/pipes/organization-link/organization-link.pipe.spec.ts
+++ b/src/app/shared/pipes/organization-link/organization-link.pipe.spec.ts
@@ -1,5 +1,7 @@
 import { OrganizationLinkPipe } from './organization-link.pipe'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('OrganizationLinkPipe', () => {
   let pipe: OrganizationLinkPipe
 
diff --git a/src/app/shared/pipes/record-funding-relationship-hint-label/record-funding-relationship-hint-label.pipe.spec.ts b/src/app/shared/pipes/record-funding-relationship-hint-label/record-funding-relationship-hint-label.pipe.spec.ts
index 7548b013de..d7dace4d5e 100644
--- a/src/app/shared/pipes/record-funding-relationship-hint-label/record-funding-relationship-hint-label.pipe.spec.ts
+++ b/src/app/shared/pipes/record-funding-relationship-hint-label/record-funding-relationship-hint-label.pipe.spec.ts
@@ -1,5 +1,7 @@
 import { RecordFundingRelationshipHintLabelPipe } from './record-funding-relationship-hint-label.pipe'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('RecordFundingRelationshipHintLabelPipe', () => {
   it('create an instance', () => {
     const pipe = new RecordFundingRelationshipHintLabelPipe()
diff --git a/src/app/shared/pipes/record-funding-relationship-label/record-funding-relationship-label.pipe.spec.ts b/src/app/shared/pipes/record-funding-relationship-label/record-funding-relationship-label.pipe.spec.ts
index f4be704f9c..495adfbc9e 100644
--- a/src/app/shared/pipes/record-funding-relationship-label/record-funding-relationship-label.pipe.spec.ts
+++ b/src/app/shared/pipes/record-funding-relationship-label/record-funding-relationship-label.pipe.spec.ts
@@ -1,5 +1,7 @@
 import { RecordFundingRelationshipLabelPipe } from './record-funding-relationship-label.pipe'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('RecordFundingRelationshipLabelPipe', () => {
   it('create an instance', () => {
     const pipe = new RecordFundingRelationshipLabelPipe()
diff --git a/src/app/shared/pipes/record-funding-type-label/record-funding-type-label.pipe.spec.ts b/src/app/shared/pipes/record-funding-type-label/record-funding-type-label.pipe.spec.ts
index 27b8cb42e9..c315945a62 100644
--- a/src/app/shared/pipes/record-funding-type-label/record-funding-type-label.pipe.spec.ts
+++ b/src/app/shared/pipes/record-funding-type-label/record-funding-type-label.pipe.spec.ts
@@ -1,5 +1,7 @@
 import { RecordFundingTypeLabelPipe } from './record-funding-type-label.pipe'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('RecordFundingTypeLabelPipe', () => {
   it('create an instance', () => {
     const pipe = new RecordFundingTypeLabelPipe()
diff --git a/src/app/shared/pipes/record-holder-roles/record-holder-roles.pipe.spec.ts b/src/app/shared/pipes/record-holder-roles/record-holder-roles.pipe.spec.ts
index 8c3aa2c53b..09daba865f 100644
--- a/src/app/shared/pipes/record-holder-roles/record-holder-roles.pipe.spec.ts
+++ b/src/app/shared/pipes/record-holder-roles/record-holder-roles.pipe.spec.ts
@@ -1,6 +1,8 @@
 import { RecordHolderRolesPipe } from './record-holder-roles.pipe'
 import { Contributor } from '../../../types'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('RecordHolderContributionPipe', () => {
   let pipe: RecordHolderRolesPipe
 
diff --git a/src/app/shared/pipes/record-work-category-label/record-work-category-label.pipe.spec.ts b/src/app/shared/pipes/record-work-category-label/record-work-category-label.pipe.spec.ts
index 1838abe1b0..6b036d0c89 100644
--- a/src/app/shared/pipes/record-work-category-label/record-work-category-label.pipe.spec.ts
+++ b/src/app/shared/pipes/record-work-category-label/record-work-category-label.pipe.spec.ts
@@ -1,5 +1,7 @@
 import { RecordWorkCategoryLabelPipe } from './record-work-category-label.pipe'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('RecordWorkCategoryLabelPipe', () => {
   it('create an instance', () => {
     const pipe = new RecordWorkCategoryLabelPipe()
diff --git a/src/app/shared/pipes/record-work-relationship-hint-label/record-work-relationship-hint-label.pipe.spec.ts b/src/app/shared/pipes/record-work-relationship-hint-label/record-work-relationship-hint-label.pipe.spec.ts
index 5a00f49d94..d1f8b74f90 100644
--- a/src/app/shared/pipes/record-work-relationship-hint-label/record-work-relationship-hint-label.pipe.spec.ts
+++ b/src/app/shared/pipes/record-work-relationship-hint-label/record-work-relationship-hint-label.pipe.spec.ts
@@ -1,5 +1,7 @@
 import { RecordWorkRelationshipHintLabelPipe } from './record-work-relationship-hint-label.pipe'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('RecordWorkRelationshipHintLabelPipe', () => {
   it('create an instance', () => {
     const pipe = new RecordWorkRelationshipHintLabelPipe()
diff --git a/src/app/shared/pipes/record-work-relationship-label/record-work-relationship-label.pipe.spec.ts b/src/app/shared/pipes/record-work-relationship-label/record-work-relationship-label.pipe.spec.ts
index 5d906a2eec..6f0bffe59e 100644
--- a/src/app/shared/pipes/record-work-relationship-label/record-work-relationship-label.pipe.spec.ts
+++ b/src/app/shared/pipes/record-work-relationship-label/record-work-relationship-label.pipe.spec.ts
@@ -1,5 +1,7 @@
 import { RecordWorkRelationshipLabelPipe } from './record-work-relationship-label.pipe'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('RecordWorkRelationshipLabelPipe', () => {
   it('create an instance', () => {
     const pipe = new RecordWorkRelationshipLabelPipe()
diff --git a/src/app/shared/pipes/record-work-title-name-label/record-work-title-name-label.pipe.spec.ts b/src/app/shared/pipes/record-work-title-name-label/record-work-title-name-label.pipe.spec.ts
index a84bb894cc..c5a136b07e 100644
--- a/src/app/shared/pipes/record-work-title-name-label/record-work-title-name-label.pipe.spec.ts
+++ b/src/app/shared/pipes/record-work-title-name-label/record-work-title-name-label.pipe.spec.ts
@@ -1,5 +1,7 @@
 import { RecordWorkTitleNameLabelPipe } from './record-work-title-name-label.pipe'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('RecordWorkTitleNameLabelPipe', () => {
   it('create an instance', () => {
     const pipe = new RecordWorkTitleNameLabelPipe()
diff --git a/src/app/shared/pipes/record-work-type-label/record-work-type-label.pipe.spec.ts b/src/app/shared/pipes/record-work-type-label/record-work-type-label.pipe.spec.ts
index 2dbd33f305..37734d622d 100644
--- a/src/app/shared/pipes/record-work-type-label/record-work-type-label.pipe.spec.ts
+++ b/src/app/shared/pipes/record-work-type-label/record-work-type-label.pipe.spec.ts
@@ -1,5 +1,7 @@
 import { RecordWorkTypeLabelPipe } from './record-work-type-label.pipe'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('RecordWorkTypeLabelPipe', () => {
   it('create an instance', () => {
     const pipe = new RecordWorkTypeLabelPipe()
diff --git a/src/app/shared/pipes/replace-text/replace-text.pipe.spec.ts b/src/app/shared/pipes/replace-text/replace-text.pipe.spec.ts
index 29ade63d52..d1c509a2b7 100644
--- a/src/app/shared/pipes/replace-text/replace-text.pipe.spec.ts
+++ b/src/app/shared/pipes/replace-text/replace-text.pipe.spec.ts
@@ -1,5 +1,7 @@
 import { ReplaceTextPipe } from './replace-text.pipe'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('ReplaceTextPipe', () => {
   it('create an instance', () => {
     const pipe = new ReplaceTextPipe()
diff --git a/src/app/shared/pipes/role-translation/role-translation.pipe.spec.ts b/src/app/shared/pipes/role-translation/role-translation.pipe.spec.ts
index 2353ff7bc8..64167c781a 100644
--- a/src/app/shared/pipes/role-translation/role-translation.pipe.spec.ts
+++ b/src/app/shared/pipes/role-translation/role-translation.pipe.spec.ts
@@ -1,6 +1,8 @@
 import { RoleTranslationPipe } from './role-translation.pipe'
 import { ContributionRoles, Role } from '../../../types/works.endpoint'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('RoleTranslationPipe', () => {
   let pipe: RoleTranslationPipe
   let roles: Role[]
diff --git a/src/app/shared/pipes/safe-html/safe-html.pipe.spec.ts b/src/app/shared/pipes/safe-html/safe-html.pipe.spec.ts
index e8722fa4da..5954c45ca8 100644
--- a/src/app/shared/pipes/safe-html/safe-html.pipe.spec.ts
+++ b/src/app/shared/pipes/safe-html/safe-html.pipe.spec.ts
@@ -1,5 +1,7 @@
 import { SafeHtmlPipe } from './safe-html.pipe'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SafeHtmlPipe', () => {
   it('create an instance', () => {
     const pipe = new SafeHtmlPipe(null)
diff --git a/src/app/shared/pipes/scope-path-type/scope-path-type.pipe.spec.ts b/src/app/shared/pipes/scope-path-type/scope-path-type.pipe.spec.ts
index 28e1c91b8a..ab6a78fc83 100644
--- a/src/app/shared/pipes/scope-path-type/scope-path-type.pipe.spec.ts
+++ b/src/app/shared/pipes/scope-path-type/scope-path-type.pipe.spec.ts
@@ -1,5 +1,7 @@
 import { ScopePathTypePipe } from './scope-path-type.pipe'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('ScopePathTypePipe', () => {
   it('create an instance', () => {
     const pipe = new ScopePathTypePipe()
diff --git a/src/app/shared/pipes/sort-by/sort-by.pipe.spec.ts b/src/app/shared/pipes/sort-by/sort-by.pipe.spec.ts
index 75410c2e29..a0e6d5f40c 100644
--- a/src/app/shared/pipes/sort-by/sort-by.pipe.spec.ts
+++ b/src/app/shared/pipes/sort-by/sort-by.pipe.spec.ts
@@ -1,6 +1,8 @@
 import { SortByPipe } from './sort-by.pipe'
 import { getCountries } from '../../../core/record-countries/record-countries.service.spec'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SortByPipe', () => {
   let pipe: SortByPipe
 
diff --git a/src/app/shared/pipes/trailing-zeros/trailing-zeros.pipe.spec.ts b/src/app/shared/pipes/trailing-zeros/trailing-zeros.pipe.spec.ts
index 34441e1892..30254b3575 100644
--- a/src/app/shared/pipes/trailing-zeros/trailing-zeros.pipe.spec.ts
+++ b/src/app/shared/pipes/trailing-zeros/trailing-zeros.pipe.spec.ts
@@ -1,5 +1,7 @@
 import { TrailingZerosPipe } from './trailing-zeros.pipe'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('TrailingZerosPipe', () => {
   it('create an instance', () => {
     const pipe = new TrailingZerosPipe()
diff --git a/src/app/shared/pipes/visibility-string-label/visibility-string-label.pipe.spec.ts b/src/app/shared/pipes/visibility-string-label/visibility-string-label.pipe.spec.ts
index 8aaeab1e12..39e792748b 100644
--- a/src/app/shared/pipes/visibility-string-label/visibility-string-label.pipe.spec.ts
+++ b/src/app/shared/pipes/visibility-string-label/visibility-string-label.pipe.spec.ts
@@ -1,5 +1,7 @@
 import { VisibilityStringLabelPipe } from './visibility-string-label.pipe'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('VisibilityStringLabelPipe', () => {
   it('create an instance', () => {
     const pipe = new VisibilityStringLabelPipe()
diff --git a/src/app/shared/shared.module.spec.ts b/src/app/shared/shared.module.spec.ts
index 7b6aa7caee..3e129ba704 100644
--- a/src/app/shared/shared.module.spec.ts
+++ b/src/app/shared/shared.module.spec.ts
@@ -1,5 +1,7 @@
 import { SharedModule } from './shared.module'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SharedModule', () => {
   let sharedModule: SharedModule
 
diff --git a/src/app/sign-in/components/errors/deactivated/deactivated.component.spec.ts b/src/app/sign-in/components/errors/deactivated/deactivated.component.spec.ts
index 235cfac7b2..96702ee2c1 100644
--- a/src/app/sign-in/components/errors/deactivated/deactivated.component.spec.ts
+++ b/src/app/sign-in/components/errors/deactivated/deactivated.component.spec.ts
@@ -12,13 +12,20 @@ import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 import { SignInService } from '../../../../core/sign-in/sign-in.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+import { ReactiveFormsModule } from '@angular/forms'
+
 describe('DeactivatedComponent', () => {
   let component: DeactivatedComponent
   let fixture: ComponentFixture<DeactivatedComponent>
 
   beforeEach(() => {
     TestBed.configureTestingModule({
-      imports: [HttpClientTestingModule, RouterTestingModule],
+      imports: [
+        HttpClientTestingModule,
+        RouterTestingModule,
+        ReactiveFormsModule,
+      ],
       declarations: [DeactivatedComponent],
       providers: [
         WINDOW_PROVIDERS,
@@ -30,6 +37,7 @@ describe('DeactivatedComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/sign-in/components/errors/print-errors/print-errors.component.spec.ts b/src/app/sign-in/components/errors/print-errors/print-errors.component.spec.ts
index 6844609228..3262a00e60 100644
--- a/src/app/sign-in/components/errors/print-errors/print-errors.component.spec.ts
+++ b/src/app/sign-in/components/errors/print-errors/print-errors.component.spec.ts
@@ -7,6 +7,8 @@ import {
 } from '@angular/material/legacy-dialog'
 import { WINDOW_PROVIDERS } from '../../../../cdk/window'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('PrintErrorsComponent', () => {
   let component: PrintErrorsComponent
   let fixture: ComponentFixture<PrintErrorsComponent>
@@ -15,6 +17,7 @@ describe('PrintErrorsComponent', () => {
     TestBed.configureTestingModule({
       declarations: [PrintErrorsComponent],
       providers: [WINDOW_PROVIDERS],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/sign-in/components/form-sign-in/form-sign-in.component.spec.ts b/src/app/sign-in/components/form-sign-in/form-sign-in.component.spec.ts
index c420469fb8..22839ace5b 100644
--- a/src/app/sign-in/components/form-sign-in/form-sign-in.component.spec.ts
+++ b/src/app/sign-in/components/form-sign-in/form-sign-in.component.spec.ts
@@ -14,13 +14,20 @@ import { UserService } from '../../../core'
 import { SignInService } from '../../../core/sign-in/sign-in.service'
 import { OauthService } from '../../../core/oauth/oauth.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+import { ReactiveFormsModule } from '@angular/forms'
+
 describe('FormSignInComponent', () => {
   let component: FormSignInComponent
   let fixture: ComponentFixture<FormSignInComponent>
 
   beforeEach(() => {
     TestBed.configureTestingModule({
-      imports: [HttpClientTestingModule, RouterTestingModule],
+      imports: [
+        HttpClientTestingModule,
+        RouterTestingModule,
+        ReactiveFormsModule,
+      ],
       declarations: [FormSignInComponent],
       providers: [
         WINDOW_PROVIDERS,
@@ -34,6 +41,7 @@ describe('FormSignInComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/sign-in/components/logged-in/logged-in.component.spec.ts b/src/app/sign-in/components/logged-in/logged-in.component.spec.ts
index 7833f4680d..6900d6f5e4 100644
--- a/src/app/sign-in/components/logged-in/logged-in.component.spec.ts
+++ b/src/app/sign-in/components/logged-in/logged-in.component.spec.ts
@@ -9,6 +9,8 @@ import { RouterModule } from '@angular/router'
 import { SnackbarService } from 'src/app/cdk/snackbar/snackbar.service'
 import { EMPTY } from 'rxjs'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('LoggedInComponent', () => {
   let component: LoggedInComponent
   let fixture: ComponentFixture<LoggedInComponent>
@@ -38,6 +40,7 @@ describe('LoggedInComponent', () => {
         },
       ],
       imports: [HttpClientTestingModule],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/sign-in/components/social/social.component.spec.ts b/src/app/sign-in/components/social/social.component.spec.ts
index b6bf126f91..af3214d973 100644
--- a/src/app/sign-in/components/social/social.component.spec.ts
+++ b/src/app/sign-in/components/social/social.component.spec.ts
@@ -13,6 +13,8 @@ import { Overlay } from '@angular/cdk/overlay'
 import { SignInService } from '../../../core/sign-in/sign-in.service'
 import { OauthService } from '../../../core/oauth/oauth.service'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('SocialComponent', () => {
   let component: SocialComponent
   let fixture: ComponentFixture<SocialComponent>
@@ -32,6 +34,7 @@ describe('SocialComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/sign-in/pages/sign-in/sign-in.component.spec.ts b/src/app/sign-in/pages/sign-in/sign-in.component.spec.ts
index bb1b96be7d..7ac63347bb 100644
--- a/src/app/sign-in/pages/sign-in/sign-in.component.spec.ts
+++ b/src/app/sign-in/pages/sign-in/sign-in.component.spec.ts
@@ -12,6 +12,8 @@ import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack
 import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'
 import { Overlay } from '@angular/cdk/overlay'
 import { UserService } from '../../../core'
+import { AppModule } from 'src/app/app.module'
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
 
 describe('SignInComponent', () => {
   let component: SignInComponent
@@ -31,6 +33,7 @@ describe('SignInComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/trusted-summary/pages/trusted-summary/trusted-summary-page.component.spec.ts b/src/app/trusted-summary/pages/trusted-summary/trusted-summary-page.component.spec.ts
index 2df033c9c7..4952d10cdb 100644
--- a/src/app/trusted-summary/pages/trusted-summary/trusted-summary-page.component.spec.ts
+++ b/src/app/trusted-summary/pages/trusted-summary/trusted-summary-page.component.spec.ts
@@ -9,6 +9,8 @@ import { of } from 'rxjs'
 import { ZendeskService } from 'src/app/core/zendesk/zendesk.service'
 import { WINDOW } from 'src/app/cdk/window'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('TrustedSummaryComponent', () => {
   let component: TrustedSummaryPageComponent
   let fixture: ComponentFixture<TrustedSummaryPageComponent>
@@ -30,6 +32,7 @@ describe('TrustedSummaryComponent', () => {
         { provide: WINDOW, useValue: {} },
       ],
       imports: [HttpClientTestingModule],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
 
     fixture = TestBed.createComponent(TrustedSummaryPageComponent)
diff --git a/src/app/two-factor-setup/components/two-factor-recovery-codes/two-factor-recovery-codes.component.spec.ts b/src/app/two-factor-setup/components/two-factor-recovery-codes/two-factor-recovery-codes.component.spec.ts
index 26fe26573e..08b8ca25fa 100644
--- a/src/app/two-factor-setup/components/two-factor-recovery-codes/two-factor-recovery-codes.component.spec.ts
+++ b/src/app/two-factor-setup/components/two-factor-recovery-codes/two-factor-recovery-codes.component.spec.ts
@@ -4,15 +4,26 @@ import { TwoFactorRecoveryCodesComponent } from './two-factor-recovery-codes.com
 import { WINDOW_PROVIDERS } from '../../../cdk/window'
 import { MatLegacyTooltipModule as MatTooltipModule } from '@angular/material/legacy-tooltip'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+import { ReactiveFormsModule } from '@angular/forms'
+import { RouterTestingModule } from '@angular/router/testing'
+import { ClipboardModule } from '@angular/cdk/clipboard'
+
 describe('TwoFactorRecoveryCodesComponent', () => {
   let component: TwoFactorRecoveryCodesComponent
   let fixture: ComponentFixture<TwoFactorRecoveryCodesComponent>
 
   beforeEach(async () => {
     await TestBed.configureTestingModule({
-      imports: [MatTooltipModule],
+      imports: [
+        MatTooltipModule,
+        ReactiveFormsModule,
+        RouterTestingModule,
+        ClipboardModule,
+      ],
       declarations: [TwoFactorRecoveryCodesComponent],
       providers: [WINDOW_PROVIDERS],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/two-factor-setup/pages/two-factor/two-factor-setup.component.spec.ts b/src/app/two-factor-setup/pages/two-factor/two-factor-setup.component.spec.ts
index 728f5e5abd..00152f50f1 100644
--- a/src/app/two-factor-setup/pages/two-factor/two-factor-setup.component.spec.ts
+++ b/src/app/two-factor-setup/pages/two-factor/two-factor-setup.component.spec.ts
@@ -15,6 +15,8 @@ import { Overlay } from '@angular/cdk/overlay'
 import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'
 import { By } from '@angular/platform-browser'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('Component: TwoFactorSetupComponent', () => {
   let component: TwoFactorSetupComponent
   let compiled: any
@@ -33,7 +35,7 @@ describe('Component: TwoFactorSetupComponent', () => {
         MatSnackBar,
         Overlay,
       ],
-      schemas: [NO_ERRORS_SCHEMA],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 
diff --git a/src/app/two-factor/pages/two-factor/two-factor.component.spec.ts b/src/app/two-factor/pages/two-factor/two-factor.component.spec.ts
index 2137d4e159..4c312da882 100644
--- a/src/app/two-factor/pages/two-factor/two-factor.component.spec.ts
+++ b/src/app/two-factor/pages/two-factor/two-factor.component.spec.ts
@@ -13,6 +13,8 @@ import { Overlay } from '@angular/cdk/overlay'
 import { TwoFactorAuthenticationService } from '../../../core/two-factor-authentication/two-factor-authentication.service'
 import { MdePopoverModule } from '../../../cdk/popover'
 
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+
 describe('TwoFactorComponent', () => {
   let component: TwoFactorComponent
   let fixture: ComponentFixture<TwoFactorComponent>
@@ -31,6 +33,7 @@ describe('TwoFactorComponent', () => {
         MatDialog,
         Overlay,
       ],
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
     }).compileComponents()
   })
 

From 36c7653bba5a5d2d3da8d17a80c738050e1ca4cf Mon Sep 17 00:00:00 2001
From: Leonardo Mendoza Fernadez <leomendoza123@gmail.com>
Date: Thu, 5 Sep 2024 09:04:39 -0600
Subject: [PATCH 5/7] remove focus test

---
 .../modals/modal-keyword/modal-keyword.component.spec.ts        | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/app/cdk/side-bar/modals/modal-keyword/modal-keyword.component.spec.ts b/src/app/cdk/side-bar/modals/modal-keyword/modal-keyword.component.spec.ts
index 2871cb1887..042341ca08 100644
--- a/src/app/cdk/side-bar/modals/modal-keyword/modal-keyword.component.spec.ts
+++ b/src/app/cdk/side-bar/modals/modal-keyword/modal-keyword.component.spec.ts
@@ -56,7 +56,7 @@ describe('ModalKeywordComponent', () => {
     fixture.detectChanges()
   })
 
-  fit('should create', () => {
+  it('should create', () => {
     expect(component).toBeTruthy()
   })
 })

From fdfba10f1db30a90da0deec8cf8d5647e5f690cc Mon Sep 17 00:00:00 2001
From: andrej romanov <50377758+auumgn@users.noreply.github.com>
Date: Thu, 5 Sep 2024 18:10:39 +0300
Subject: [PATCH 6/7] disable isolated test

---
 .../modals/modal-keyword/modal-keyword.component.spec.ts        | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/app/cdk/side-bar/modals/modal-keyword/modal-keyword.component.spec.ts b/src/app/cdk/side-bar/modals/modal-keyword/modal-keyword.component.spec.ts
index 2871cb1887..042341ca08 100644
--- a/src/app/cdk/side-bar/modals/modal-keyword/modal-keyword.component.spec.ts
+++ b/src/app/cdk/side-bar/modals/modal-keyword/modal-keyword.component.spec.ts
@@ -56,7 +56,7 @@ describe('ModalKeywordComponent', () => {
     fixture.detectChanges()
   })
 
-  fit('should create', () => {
+  it('should create', () => {
     expect(component).toBeTruthy()
   })
 })

From 0aca4f40017cc22a5168cf406778aed25896e421 Mon Sep 17 00:00:00 2001
From: Leonardo Mendoza Fernadez <leomendoza123@gmail.com>
Date: Thu, 5 Sep 2024 09:16:49 -0600
Subject: [PATCH 7/7] stop debug logs on local environment

---
 src/environments/environment.local.ts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/environments/environment.local.ts b/src/environments/environment.local.ts
index 975d5c70fd..25061c9d30 100644
--- a/src/environments/environment.local.ts
+++ b/src/environments/environment.local.ts
@@ -1,6 +1,6 @@
 export const environment = {
   production: false,
-  debugger: true,
+  debugger: false,
   ROBOTS: 'all',
   API_NEWS: 'https://www.mocky.io/v2/5dced45b3000007300931ce8',
   API_PUB: `//pub.<SUBDOMAIN><DOMAIN>/v3.0`,