Clear cache in mydspace redirect and reload methods.

This commit is contained in:
Michael W Spalti
2019-11-08 12:04:54 -08:00
parent 7565507f69
commit e7302bd8af
16 changed files with 181 additions and 48 deletions

View File

@@ -17,6 +17,10 @@ import { WorkspaceItem } from '../../../core/submission/models/workspaceitem.mod
import { WorkspaceitemActionsComponent } from './workspaceitem-actions.component';
import { WorkspaceitemDataService } from '../../../core/submission/workspaceitem-data.service';
import { createSuccessfulRemoteDataObject } from '../../testing/utils';
import { RequestService } from '../../../core/data/request.service';
import { getMockRequestService } from '../../mocks/mock-request.service';
import { SearchService } from '../../../+search-page/search-service/search.service';
import { getMockSearchService } from '../../mocks/mock-search-service';
let component: WorkspaceitemActionsComponent;
let fixture: ComponentFixture<WorkspaceitemActionsComponent>;
@@ -28,6 +32,10 @@ const mockDataService = jasmine.createSpyObj('WorkspaceitemDataService', {
delete: jasmine.createSpy('delete')
});
const searchService = getMockSearchService();
const requestServce = getMockRequestService();
const item = Object.assign(new Item(), {
bitstreams: observableOf({}),
metadata: {
@@ -62,6 +70,7 @@ mockObject = Object.assign(new WorkspaceItem(), { item: observableOf(rd), id: '1
describe('WorkspaceitemActionsComponent', () => {
beforeEach(async(() => {
TestBed.configureTestingModule({
imports: [
NgbModule.forRoot(),
@@ -78,6 +87,8 @@ describe('WorkspaceitemActionsComponent', () => {
{ provide: NotificationsService, useValue: new NotificationsServiceStub() },
{ provide: Router, useValue: new RouterStub() },
{ provide: WorkspaceitemDataService, useValue: mockDataService },
{ provide: SearchService, useValue: searchService },
{ provide: RequestService, useValue: requestServce },
NgbModal
],
schemas: [NO_ERRORS_SCHEMA]
@@ -161,4 +172,14 @@ describe('WorkspaceitemActionsComponent', () => {
expect(notificationsServiceStub.error).toHaveBeenCalled();
});
}));
it('should clear the object cache by href', async(() => {
component.reload();
fixture.detectChanges();
fixture.whenStable().then(() => {
expect(searchService.getEndpoint).toHaveBeenCalled();
expect(requestServce.removeByHrefSubstring).toHaveBeenCalledWith('discover/search/objects');
});
}));
});