Skip to content

Commit 04764e4

Browse files
Merge branch 'created-themeable-ProfilePageMetadataFormComponent_contribute-7.6' into minor-themed-component-fixes_contribute-main
# Conflicts: # src/app/profile-page/profile-page.component.spec.ts # src/app/profile-page/profile-page.component.ts
2 parents 4c4531f + 83fbf8b commit 04764e4

3 files changed

Lines changed: 36 additions & 20 deletions

File tree

src/app/profile-page/profile-page.component.spec.ts

Lines changed: 32 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import {
55
waitForAsync,
66
} from '@angular/core/testing';
77
import { By } from '@angular/platform-browser';
8-
import { RouterTestingModule } from '@angular/router/testing';
8+
import { RouterModule } from '@angular/router';
99
import { StoreModule } from '@ngrx/store';
1010
import { provideMockStore } from '@ngrx/store/testing';
1111
import { TranslateModule } from '@ngx-translate/core';
@@ -113,8 +113,9 @@ describe('ProfilePageComponent', () => {
113113
imports: [
114114
StoreModule.forRoot({ auth: authReducer }, storeModuleConfig),
115115
TranslateModule.forRoot(),
116-
RouterTestingModule.withRoutes([]),
117-
ProfilePageComponent, VarDirective,
116+
RouterModule.forRoot([]),
117+
ProfilePageComponent,
118+
VarDirective,
118119
],
119120
providers: [
120121
{ provide: EPersonDataService, useValue: epersonService },
@@ -154,9 +155,13 @@ describe('ProfilePageComponent', () => {
154155
describe('updateProfile', () => {
155156
describe('when the metadata form returns false and the security form returns true', () => {
156157
beforeEach(() => {
157-
component.metadataForm = jasmine.createSpyObj('metadataForm', {
158-
updateProfile: false,
159-
});
158+
component.metadataForm = {
159+
compRef: {
160+
instance: {
161+
updateProfile: () => false,
162+
},
163+
},
164+
} as any;
160165
spyOn(component, 'updateSecurity').and.returnValue(true);
161166
component.updateProfile();
162167
});
@@ -168,9 +173,13 @@ describe('ProfilePageComponent', () => {
168173

169174
describe('when the metadata form returns true and the security form returns false', () => {
170175
beforeEach(() => {
171-
component.metadataForm = jasmine.createSpyObj('metadataForm', {
172-
updateProfile: true,
173-
});
176+
component.metadataForm = {
177+
compRef: {
178+
instance: {
179+
updateProfile: () => true,
180+
},
181+
},
182+
} as any;
174183
component.updateProfile();
175184
});
176185

@@ -181,9 +190,13 @@ describe('ProfilePageComponent', () => {
181190

182191
describe('when the metadata form returns true and the security form returns true', () => {
183192
beforeEach(() => {
184-
component.metadataForm = jasmine.createSpyObj('metadataForm', {
185-
updateProfile: true,
186-
});
193+
component.metadataForm = {
194+
compRef: {
195+
instance: {
196+
updateProfile: () => true,
197+
},
198+
},
199+
} as any;
187200
component.updateProfile();
188201
});
189202

@@ -194,9 +207,13 @@ describe('ProfilePageComponent', () => {
194207

195208
describe('when the metadata form returns false and the security form returns false', () => {
196209
beforeEach(() => {
197-
component.metadataForm = jasmine.createSpyObj('metadataForm', {
198-
updateProfile: false,
199-
});
210+
component.metadataForm = {
211+
compRef: {
212+
instance: {
213+
updateProfile: () => false,
214+
},
215+
},
216+
} as any;
200217
component.updateProfile();
201218
});
202219

src/app/profile-page/profile-page.component.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ import {
4747
import { NotificationsService } from '../shared/notifications/notifications.service';
4848
import { followLink } from '../shared/utils/follow-link-config.model';
4949
import { VarDirective } from '../shared/utils/var.directive';
50-
import { ProfilePageMetadataFormComponent } from './profile-page-metadata-form/profile-page-metadata-form.component';
5150
import { ThemedProfilePageMetadataFormComponent } from './profile-page-metadata-form/themed-profile-page-metadata-form.component';
5251
import { ProfilePageResearcherFormComponent } from './profile-page-researcher-form/profile-page-researcher-form.component';
5352
import { ProfilePageSecurityFormComponent } from './profile-page-security-form/profile-page-security-form.component';
@@ -76,7 +75,7 @@ export class ProfilePageComponent implements OnInit {
7675
/**
7776
* A reference to the metadata form component
7877
*/
79-
@ViewChild(ProfilePageMetadataFormComponent) metadataForm: ProfilePageMetadataFormComponent;
78+
@ViewChild(ThemedProfilePageMetadataFormComponent) metadataForm: ThemedProfilePageMetadataFormComponent;
8079

8180
/**
8281
* The authenticated user as observable
@@ -158,8 +157,8 @@ export class ProfilePageComponent implements OnInit {
158157
* Fire an update on both the metadata and security forms
159158
* Show a warning notification when no changes were made in both forms
160159
*/
161-
updateProfile() {
162-
const metadataChanged = this.metadataForm.updateProfile();
160+
updateProfile(): void {
161+
const metadataChanged = this.metadataForm.compRef.instance.updateProfile();
163162
const securityChanged = this.updateSecurity();
164163
if (!metadataChanged && !securityChanged) {
165164
this.notificationsService.warning(

src/app/shared/theme-support/themed.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ import { ThemeService } from './theme.service';
4343
export abstract class ThemedComponent<T extends object> implements AfterViewInit, OnDestroy, OnChanges {
4444
@ViewChild('vcr', { read: ViewContainerRef }) vcr: ViewContainerRef;
4545
@ViewChild('content') themedElementContent: ElementRef;
46-
protected compRef: ComponentRef<T>;
46+
compRef: ComponentRef<T>;
4747

4848
/**
4949
* A reference to the themed component. Will start as undefined and emit every time the themed

0 commit comments

Comments
 (0)