Skip to content

Commit 6792c32

Browse files
committed
Merge remote-tracking branch 'origin/main' into feat/registry-submit-decision
2 parents 325922c + 5c3bc2b commit 6792c32

File tree

110 files changed

+2411
-128
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

110 files changed

+2411
-128
lines changed

jest.config.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,11 @@ module.exports = {
3030
'!src/app/**/public-api.ts',
3131
],
3232
extensionsToTreatAsEsm: ['.ts'],
33+
testPathIgnorePatterns: [
34+
'<rootDir>/src/app/features/registry/',
35+
'<rootDir>/src/app/features/project/',
36+
'<rootDir>/src/app/features/registries/',
37+
'<rootDir>/src/app/features/settings/',
38+
'<rootDir>/src/app/shared/',
39+
],
3340
};

src/app/core/components/footer/footer.component.spec.ts

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,27 @@
11
import { TranslatePipe, TranslateService } from '@ngx-translate/core';
2-
import { MockPipe, MockProvider } from 'ng-mocks';
2+
import { MockComponent, MockPipe, MockProvider } from 'ng-mocks';
3+
4+
import { BehaviorSubject } from 'rxjs';
35

46
import { ComponentFixture, TestBed } from '@angular/core/testing';
57
import { ActivatedRoute } from '@angular/router';
68

9+
import { IconComponent } from '@shared/components';
10+
import { IS_WEB } from '@shared/utils';
11+
712
import { FooterComponent } from './footer.component';
813

914
describe('FooterComponent', () => {
1015
let component: FooterComponent;
1116
let fixture: ComponentFixture<FooterComponent>;
17+
let isWebSubject: BehaviorSubject<boolean>;
1218

1319
beforeEach(async () => {
20+
isWebSubject = new BehaviorSubject<boolean>(true);
21+
1422
await TestBed.configureTestingModule({
15-
imports: [FooterComponent, MockPipe(TranslatePipe)],
16-
providers: [MockProvider(TranslateService), MockProvider(ActivatedRoute)],
23+
imports: [FooterComponent, MockComponent(IconComponent), MockPipe(TranslatePipe)],
24+
providers: [MockProvider(TranslateService), MockProvider(ActivatedRoute), MockProvider(IS_WEB, isWebSubject)],
1725
}).compileComponents();
1826

1927
fixture = TestBed.createComponent(FooterComponent);

src/app/core/constants/ngxs-states.constant.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,9 @@ import { DeveloperAppsState } from '@osf/features/settings/developer-apps/store'
99
import { NotificationSubscriptionState } from '@osf/features/settings/notifications/store';
1010
import { AddonsState, InstitutionsState, WikiState } from '@shared/stores';
1111
import { LicensesState } from '@shared/stores/licenses';
12+
import { MyResourcesState } from '@shared/stores/my-resources';
1213
import { RegionsState } from '@shared/stores/regions';
1314

14-
import { MyResourcesState } from 'src/app/shared/stores/my-resources';
15-
1615
export const STATES = [
1716
AddonsState,
1817
UserState,

src/app/features/admin-institutions/admin-institutions.component.spec.ts

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,38 @@
1+
import { provideStore } from '@ngxs/store';
2+
3+
import { MockComponents, MockProvider } from 'ng-mocks';
4+
5+
import { provideHttpClient } from '@angular/common/http';
6+
import { provideHttpClientTesting } from '@angular/common/http/testing';
17
import { ComponentFixture, TestBed } from '@angular/core/testing';
8+
import { ActivatedRoute, Router } from '@angular/router';
9+
10+
import { LoadingSpinnerComponent, SelectComponent } from '@shared/components';
11+
import { InstitutionsSearchState } from '@shared/stores';
212

313
import { AdminInstitutionsComponent } from './admin-institutions.component';
414

515
describe('AdminInstitutionsComponent', () => {
616
let component: AdminInstitutionsComponent;
717
let fixture: ComponentFixture<AdminInstitutionsComponent>;
818

19+
const mockActivatedRoute = {
20+
snapshot: {
21+
params: { 'institution-id': '42' },
22+
firstChild: { routeConfig: { path: 'summary' } },
23+
},
24+
};
25+
926
beforeEach(async () => {
1027
await TestBed.configureTestingModule({
11-
imports: [AdminInstitutionsComponent],
28+
imports: [AdminInstitutionsComponent, ...MockComponents(LoadingSpinnerComponent, SelectComponent)],
29+
providers: [
30+
{ provide: ActivatedRoute, useValue: mockActivatedRoute },
31+
MockProvider(Router),
32+
provideStore([InstitutionsSearchState]),
33+
provideHttpClient(),
34+
provideHttpClientTesting(),
35+
],
1236
}).compileComponents();
1337

1438
fixture = TestBed.createComponent(AdminInstitutionsComponent);

src/app/features/admin-institutions/components/admin-table/admin-table.component.spec.ts

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,39 @@
1+
import { TranslatePipe, TranslateService } from '@ngx-translate/core';
2+
import { MockComponent, MockPipe, MockProvider } from 'ng-mocks';
3+
4+
import { DatePipe } from '@angular/common';
5+
import { ComponentRef } from '@angular/core';
16
import { ComponentFixture, TestBed } from '@angular/core/testing';
27

8+
import { TableCellData, TableColumn } from '@osf/features/admin-institutions/models';
9+
import { CustomPaginatorComponent } from '@shared/components';
10+
311
import { AdminTableComponent } from './admin-table.component';
412

513
describe('AdminTableComponent', () => {
614
let component: AdminTableComponent;
15+
let componentRef: ComponentRef<AdminTableComponent>;
716
let fixture: ComponentFixture<AdminTableComponent>;
17+
const mockColumns: TableColumn[] = [];
18+
const mockData: TableCellData[] = [];
819

920
beforeEach(async () => {
1021
await TestBed.configureTestingModule({
11-
imports: [AdminTableComponent],
22+
imports: [
23+
AdminTableComponent,
24+
MockComponent(CustomPaginatorComponent),
25+
MockPipe(TranslatePipe),
26+
MockPipe(DatePipe),
27+
],
28+
providers: [MockProvider(TranslateService)],
1229
}).compileComponents();
1330

1431
fixture = TestBed.createComponent(AdminTableComponent);
1532
component = fixture.componentInstance;
33+
componentRef = fixture.componentRef;
34+
35+
componentRef.setInput('tableColumns', mockColumns);
36+
componentRef.setInput('tableData', mockData);
1637
fixture.detectChanges();
1738
});
1839

src/app/features/admin-institutions/dialogs/send-email-dialog/send-email-dialog.component.spec.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
import { TranslatePipe } from '@ngx-translate/core';
2+
import { MockPipe, MockProviders } from 'ng-mocks';
3+
4+
import { DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';
5+
16
import { ComponentFixture, TestBed } from '@angular/core/testing';
27

38
import { SendEmailDialogComponent } from './send-email-dialog.component';
@@ -8,7 +13,8 @@ describe('SendEmailDialogComponent', () => {
813

914
beforeEach(async () => {
1015
await TestBed.configureTestingModule({
11-
imports: [SendEmailDialogComponent],
16+
imports: [SendEmailDialogComponent, MockPipe(TranslatePipe)],
17+
providers: [MockProviders(DynamicDialogRef, DynamicDialogConfig)],
1218
}).compileComponents();
1319

1420
fixture = TestBed.createComponent(SendEmailDialogComponent);

src/app/features/admin-institutions/pages/institutions-preprints/institutions-preprints.component.spec.ts

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,46 @@
1+
import { provideStore } from '@ngxs/store';
2+
3+
import { TranslatePipe } from '@ngx-translate/core';
4+
import { MockComponents, MockPipe, MockProviders } from 'ng-mocks';
5+
6+
import { of } from 'rxjs';
7+
8+
import { provideHttpClient } from '@angular/common/http';
9+
import { provideHttpClientTesting } from '@angular/common/http/testing';
110
import { ComponentFixture, TestBed } from '@angular/core/testing';
11+
import { ActivatedRoute, Router } from '@angular/router';
12+
13+
import { AdminTableComponent } from '@osf/features/admin-institutions/components';
14+
import { InstitutionsAdminState } from '@osf/features/admin-institutions/store';
15+
import { LoadingSpinnerComponent } from '@shared/components';
16+
import { InstitutionsSearchState } from '@shared/stores';
217

318
import { InstitutionsPreprintsComponent } from './institutions-preprints.component';
419

520
describe('InstitutionsPreprintsComponent', () => {
621
let component: InstitutionsPreprintsComponent;
722
let fixture: ComponentFixture<InstitutionsPreprintsComponent>;
823

24+
const mockRoute = {
25+
parent: { snapshot: { params: { 'institution-id': '42' } } },
26+
snapshot: { queryParams: {} },
27+
queryParams: of({}),
28+
};
29+
930
beforeEach(async () => {
1031
await TestBed.configureTestingModule({
11-
imports: [InstitutionsPreprintsComponent],
32+
imports: [
33+
InstitutionsPreprintsComponent,
34+
...MockComponents(AdminTableComponent, LoadingSpinnerComponent),
35+
MockPipe(TranslatePipe),
36+
],
37+
providers: [
38+
MockProviders(Router),
39+
{ provide: ActivatedRoute, useValue: mockRoute },
40+
provideStore([InstitutionsAdminState, InstitutionsSearchState]),
41+
provideHttpClient(),
42+
provideHttpClientTesting(),
43+
],
1244
}).compileComponents();
1345

1446
fixture = TestBed.createComponent(InstitutionsPreprintsComponent);

src/app/features/admin-institutions/pages/institutions-projects/institutions-projects.component.spec.ts

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,19 @@
1+
import { provideStore } from '@ngxs/store';
2+
3+
import { TranslatePipe } from '@ngx-translate/core';
4+
import { MockComponents, MockPipe, MockProvider } from 'ng-mocks';
5+
6+
import { of } from 'rxjs';
7+
8+
import { provideHttpClient } from '@angular/common/http';
9+
import { provideHttpClientTesting } from '@angular/common/http/testing';
110
import { ComponentFixture, TestBed } from '@angular/core/testing';
11+
import { ActivatedRoute } from '@angular/router';
12+
13+
import { AdminTableComponent } from '@osf/features/admin-institutions/components';
14+
import { InstitutionsAdminState } from '@osf/features/admin-institutions/store';
15+
import { LoadingSpinnerComponent } from '@shared/components';
16+
import { InstitutionsSearchState } from '@shared/stores';
217

318
import { InstitutionsProjectsComponent } from './institutions-projects.component';
419

@@ -8,7 +23,17 @@ describe('InstitutionsProjectsComponent', () => {
823

924
beforeEach(async () => {
1025
await TestBed.configureTestingModule({
11-
imports: [InstitutionsProjectsComponent],
26+
imports: [
27+
InstitutionsProjectsComponent,
28+
...MockComponents(AdminTableComponent, LoadingSpinnerComponent),
29+
MockPipe(TranslatePipe),
30+
],
31+
providers: [
32+
MockProvider(ActivatedRoute, { queryParams: of({}) }),
33+
provideStore([InstitutionsAdminState, InstitutionsSearchState]),
34+
provideHttpClient(),
35+
provideHttpClientTesting(),
36+
],
1237
}).compileComponents();
1338

1439
fixture = TestBed.createComponent(InstitutionsProjectsComponent);

src/app/features/admin-institutions/pages/institutions-registrations/institutions-registrations.component.spec.ts

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,18 @@
1+
import { provideStore } from '@ngxs/store';
2+
3+
import { MockComponents, MockProvider } from 'ng-mocks';
4+
5+
import { of } from 'rxjs';
6+
7+
import { provideHttpClient } from '@angular/common/http';
8+
import { provideHttpClientTesting } from '@angular/common/http/testing';
19
import { ComponentFixture, TestBed } from '@angular/core/testing';
10+
import { ActivatedRoute, Router } from '@angular/router';
11+
12+
import { AdminTableComponent } from '@osf/features/admin-institutions/components';
13+
import { InstitutionsAdminState } from '@osf/features/admin-institutions/store';
14+
import { LoadingSpinnerComponent } from '@shared/components';
15+
import { InstitutionsSearchState } from '@shared/stores';
216

317
import { InstitutionsRegistrationsComponent } from './institutions-registrations.component';
418

@@ -8,7 +22,14 @@ describe('InstitutionsRegistrationsComponent', () => {
822

923
beforeEach(async () => {
1024
await TestBed.configureTestingModule({
11-
imports: [InstitutionsRegistrationsComponent],
25+
imports: [InstitutionsRegistrationsComponent, ...MockComponents(AdminTableComponent, LoadingSpinnerComponent)],
26+
providers: [
27+
MockProvider(ActivatedRoute, { queryParams: of({}) }),
28+
MockProvider(Router),
29+
provideStore([InstitutionsAdminState, InstitutionsSearchState]),
30+
provideHttpClient(),
31+
provideHttpClientTesting(),
32+
],
1233
}).compileComponents();
1334

1435
fixture = TestBed.createComponent(InstitutionsRegistrationsComponent);

src/app/features/admin-institutions/pages/institutions-summary/institutions-summary.component.spec.ts

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,18 @@
1+
import { provideStore } from '@ngxs/store';
2+
3+
import { TranslatePipe, TranslateService } from '@ngx-translate/core';
4+
import { MockComponents, MockPipe, MockProvider } from 'ng-mocks';
5+
6+
import { of } from 'rxjs';
7+
8+
import { provideHttpClient } from '@angular/common/http';
9+
import { provideHttpClientTesting } from '@angular/common/http/testing';
110
import { ComponentFixture, TestBed } from '@angular/core/testing';
11+
import { ActivatedRoute } from '@angular/router';
12+
13+
import { InstitutionsAdminState } from '@osf/features/admin-institutions/store';
14+
import { BarChartComponent, LoadingSpinnerComponent, StatisticCardComponent } from '@shared/components';
15+
import { DoughnutChartComponent } from '@shared/components/doughnut-chart/doughnut-chart.component';
216

317
import { InstitutionsSummaryComponent } from './institutions-summary.component';
418

@@ -8,7 +22,18 @@ describe('InstitutionsSummaryComponent', () => {
822

923
beforeEach(async () => {
1024
await TestBed.configureTestingModule({
11-
imports: [InstitutionsSummaryComponent],
25+
imports: [
26+
InstitutionsSummaryComponent,
27+
...MockComponents(StatisticCardComponent, LoadingSpinnerComponent, DoughnutChartComponent, BarChartComponent),
28+
MockPipe(TranslatePipe),
29+
],
30+
providers: [
31+
MockProvider(ActivatedRoute, { queryParams: of({}) }),
32+
MockProvider(TranslateService),
33+
provideStore([InstitutionsAdminState]),
34+
provideHttpClient(),
35+
provideHttpClientTesting(),
36+
],
1237
}).compileComponents();
1338

1439
fixture = TestBed.createComponent(InstitutionsSummaryComponent);

0 commit comments

Comments
 (0)