mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 01:54:15 +00:00
Fixing tests
This commit is contained in:
@@ -14,6 +14,8 @@ import { By } from '@angular/platform-browser';
|
||||
import { RouterTestingModule } from '@angular/router/testing';
|
||||
import { getCollectionEditRoute } from '../../../../../collection-page/collection-page-routing-paths';
|
||||
import { LinkService } from '../../../../../core/cache/builders/link.service';
|
||||
import { ThemeService } from '../../../../../shared/theme-support/theme.service';
|
||||
import { getMockThemeService } from '../../../../../shared/mocks/theme-service.mock';
|
||||
|
||||
describe('CollectionAdminSearchResultGridElementComponent', () => {
|
||||
let component: CollectionAdminSearchResultGridElementComponent;
|
||||
@@ -45,7 +47,8 @@ describe('CollectionAdminSearchResultGridElementComponent', () => {
|
||||
providers: [
|
||||
{ provide: TruncatableService, useValue: mockTruncatableService },
|
||||
{ provide: BitstreamDataService, useValue: {} },
|
||||
{ provide: LinkService, useValue: linkService }
|
||||
{ provide: LinkService, useValue: linkService },
|
||||
{ provide: ThemeService, useValue: getMockThemeService() },
|
||||
]
|
||||
})
|
||||
.compileComponents();
|
||||
|
@@ -26,7 +26,7 @@ import { getMockThemeService } from '../../shared/mocks/theme-service.mock';
|
||||
import { ThemeService } from '../../shared/theme-support/theme.service';
|
||||
import { PaginationServiceStub } from '../../shared/testing/pagination-service.stub';
|
||||
|
||||
describe('TopLevelCommunityList Component', () => {
|
||||
fdescribe('TopLevelCommunityList Component', () => {
|
||||
let comp: TopLevelCommunityListComponent;
|
||||
let fixture: ComponentFixture<TopLevelCommunityListComponent>;
|
||||
let communityDataServiceStub: any;
|
||||
@@ -131,7 +131,6 @@ describe('TopLevelCommunityList Component', () => {
|
||||
{ provide: SelectableListService, useValue: {} },
|
||||
{ provide: ThemeService, useValue: themeService },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
}));
|
||||
|
||||
|
@@ -72,64 +72,6 @@ describe('ListableObjectComponentLoaderComponent', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('when the object is an item and viewMode is a list', () => {
|
||||
beforeEach(() => {
|
||||
comp.object = Object.assign(new Item());
|
||||
comp.viewMode = ViewMode.ListElement;
|
||||
});
|
||||
|
||||
describe('when the item is not withdrawn', () => {
|
||||
beforeEach(() => {
|
||||
(comp.object as any).isWithdrawn = false;
|
||||
comp.initBadges();
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should not show the withdrawn badge', () => {
|
||||
const badge = fixture.debugElement.query(By.css('div.withdrawn-badge'));
|
||||
expect(badge).toBeNull();
|
||||
});
|
||||
});
|
||||
|
||||
describe('when the item is withdrawn', () => {
|
||||
beforeEach(() => {
|
||||
(comp.object as any).isWithdrawn = true;
|
||||
comp.initBadges();
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should show the withdrawn badge', () => {
|
||||
const badge = fixture.debugElement.query(By.css('div.withdrawn-badge'));
|
||||
expect(badge).not.toBeNull();
|
||||
});
|
||||
});
|
||||
|
||||
describe('when the item is not private', () => {
|
||||
beforeEach(() => {
|
||||
(comp.object as any).isDiscoverable = true;
|
||||
comp.initBadges();
|
||||
fixture.detectChanges();
|
||||
});
|
||||
it('should not show the private badge', () => {
|
||||
const badge = fixture.debugElement.query(By.css('div.private-badge'));
|
||||
expect(badge).toBeNull();
|
||||
});
|
||||
});
|
||||
|
||||
describe('when the item is private', () => {
|
||||
beforeEach(() => {
|
||||
(comp.object as any).isDiscoverable = false;
|
||||
comp.initBadges();
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should show the private badge', () => {
|
||||
const badge = fixture.debugElement.query(By.css('div.private-badge'));
|
||||
expect(badge).not.toBeNull();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('When a reloadedObject is emitted', () => {
|
||||
let listableComponent;
|
||||
let reloadedObject: any;
|
||||
|
@@ -1,6 +1,2 @@
|
||||
<div>
|
||||
<ds-themed-status-badge [object]="object"></ds-themed-status-badge>
|
||||
</div>
|
||||
<div>
|
||||
<ds-themed-type-badge [object]="object"></ds-themed-type-badge>
|
||||
</div>
|
||||
<ds-themed-status-badge [object]="object"></ds-themed-status-badge>
|
||||
<ds-themed-type-badge [object]="object"></ds-themed-type-badge>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
<span *ngIf="privateBadge" class="private-badge">
|
||||
<div *ngIf="privateBadge" class="private-badge">
|
||||
<span class="badge badge-danger">{{ "item.badge.private" | translate }}</span>
|
||||
</span>
|
||||
<span *ngIf="withdrawnBadge" class="withdrawn-badge">
|
||||
</div>
|
||||
<div *ngIf="withdrawnBadge" class="withdrawn-badge">
|
||||
<span class="badge badge-warning">{{ "item.badge.withdrawn" | translate }}</span>
|
||||
</span>
|
||||
</div>
|
||||
|
@@ -6,37 +6,17 @@ import { TruncatePipe } from '../../../utils/truncate.pipe';
|
||||
import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { By } from '@angular/platform-browser';
|
||||
import { StatusBadgeComponent } from './status-badge.component';
|
||||
import { ViewMode } from '../../../../core/shared/view-mode.model';
|
||||
|
||||
let comp: StatusBadgeComponent;
|
||||
let fixture: ComponentFixture<StatusBadgeComponent>;
|
||||
|
||||
const type = 'authorOfPublication';
|
||||
let withdrawnItem = Object.assign(new Item(), { isWithdrawn: true });
|
||||
let notWithdrawnItem = Object.assign(new Item(), { isWithdrawn: false });
|
||||
let privateItem = Object.assign(new Item(), { isDiscoverable: false });
|
||||
let notPrivateItem = Object.assign(new Item(), { isDiscoverable: true });
|
||||
|
||||
const mockItemWithEntityType = Object.assign(new Item(), {
|
||||
bundles: observableOf({}),
|
||||
metadata: {
|
||||
'dspace.entity.type': [
|
||||
{
|
||||
language: 'en_US',
|
||||
value: type
|
||||
}
|
||||
]
|
||||
}
|
||||
});
|
||||
|
||||
const mockItemWithoutEntityType = Object.assign(new Item(), {
|
||||
bundles: observableOf({}),
|
||||
metadata: {
|
||||
'dc.title': [
|
||||
{
|
||||
language: 'en_US',
|
||||
value: 'This is just another title'
|
||||
}
|
||||
]
|
||||
}
|
||||
});
|
||||
|
||||
describe('ItemTypeBadgeComponent', () => {
|
||||
describe('ItemStatusBadgeComponent', () => {
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [TranslateModule.forRoot()],
|
||||
@@ -45,34 +25,69 @@ describe('ItemTypeBadgeComponent', () => {
|
||||
}).overrideComponent(StatusBadgeComponent, {
|
||||
set: { changeDetection: ChangeDetectionStrategy.Default }
|
||||
}).compileComponents();
|
||||
init();
|
||||
}));
|
||||
|
||||
function init() {
|
||||
withdrawnItem = Object.assign(new Item(), { isWithdrawn: true });
|
||||
notWithdrawnItem = Object.assign(new Item(), { isWithdrawn: false });
|
||||
privateItem = Object.assign(new Item(), { isDiscoverable: false });
|
||||
notPrivateItem = Object.assign(new Item(), { isDiscoverable: true });
|
||||
}
|
||||
beforeEach(waitForAsync(() => {
|
||||
fixture = TestBed.createComponent(StatusBadgeComponent);
|
||||
comp = fixture.componentInstance;
|
||||
}));
|
||||
|
||||
describe('When the item has an entity type', () => {
|
||||
|
||||
describe('when the item is not withdrawn', () => {
|
||||
beforeEach(() => {
|
||||
comp.object = mockItemWithEntityType;
|
||||
comp.object = notWithdrawnItem;
|
||||
comp.ngOnInit();
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should show the entity type badge', () => {
|
||||
const badge = fixture.debugElement.query(By.css('span.badge'));
|
||||
expect(badge.nativeElement.textContent).toContain(type.toLowerCase());
|
||||
it('should not show the withdrawn badge', () => {
|
||||
const badge = fixture.debugElement.query(By.css('div.withdrawn-badge'));
|
||||
expect(badge).toBeNull();
|
||||
});
|
||||
});
|
||||
|
||||
describe('When the item has no entity type', () => {
|
||||
describe('when the item is withdrawn', () => {
|
||||
beforeEach(() => {
|
||||
comp.object = mockItemWithoutEntityType;
|
||||
comp.object = withdrawnItem;
|
||||
comp.ngOnInit();
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should show an item badge', () => {
|
||||
const badge = fixture.debugElement.query(By.css('span.badge'));
|
||||
expect(badge.nativeElement.textContent).toContain('item');
|
||||
it('should show the withdrawn badge', () => {
|
||||
const badge = fixture.debugElement.query(By.css('div.withdrawn-badge'));
|
||||
expect(badge).not.toBeNull();
|
||||
});
|
||||
});
|
||||
|
||||
describe('when the item is not private', () => {
|
||||
beforeEach(() => {
|
||||
comp.object = notPrivateItem;
|
||||
comp.ngOnInit();
|
||||
fixture.detectChanges();
|
||||
});
|
||||
it('should not show the private badge', () => {
|
||||
const badge = fixture.debugElement.query(By.css('div.private-badge'));
|
||||
expect(badge).toBeNull();
|
||||
});
|
||||
});
|
||||
|
||||
describe('when the item is private', () => {
|
||||
beforeEach(() => {
|
||||
comp.object = privateItem;
|
||||
comp.ngOnInit();
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should show the private badge', () => {
|
||||
const badge = fixture.debugElement.query(By.css('div.private-badge'));
|
||||
expect(badge).not.toBeNull();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
@@ -1,3 +1,3 @@
|
||||
<span *ngIf="typeMessage">
|
||||
<div *ngIf="typeMessage">
|
||||
<span class="badge badge-info">{{ typeMessage | translate }}</span>
|
||||
</span>
|
||||
</div>
|
||||
|
@@ -154,8 +154,8 @@ describe('ItemListPreviewComponent', () => {
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should show the entity type span', () => {
|
||||
const entityField = fixture.debugElement.query(By.css('ds-type-badge'));
|
||||
it('should show the badges', () => {
|
||||
const entityField = fixture.debugElement.query(By.css('ds-themed-badges'));
|
||||
expect(entityField).not.toBeNull();
|
||||
});
|
||||
});
|
||||
|
@@ -36,7 +36,9 @@ describe('SearchFormComponent', () => {
|
||||
{ provide: SearchConfigurationService, useValue: searchConfigService },
|
||||
{ provide: DSpaceObjectDataService, useValue: { findById: () => createSuccessfulRemoteDataObject$(undefined)} }
|
||||
],
|
||||
declarations: [SearchFormComponent]
|
||||
declarations: [
|
||||
SearchFormComponent,
|
||||
]
|
||||
}).compileComponents();
|
||||
}));
|
||||
|
||||
@@ -47,21 +49,23 @@ describe('SearchFormComponent', () => {
|
||||
el = de.nativeElement;
|
||||
});
|
||||
|
||||
it('should not display scopes when empty', () => {
|
||||
fixture.detectChanges();
|
||||
const select = de.query(By.css('select'));
|
||||
expect(select).toBeNull();
|
||||
});
|
||||
|
||||
it('should not display scopes when scopeSelectable is false', () => {
|
||||
comp.scopeSelectable = false;
|
||||
comp.scopes = objects;
|
||||
comp.scope = objects[1].id;
|
||||
it('should not display scopes when showScopeSelector is false', fakeAsync(() => {
|
||||
comp.showScopeSelector = false;
|
||||
|
||||
fixture.detectChanges();
|
||||
const select = de.query(By.css('select'));
|
||||
expect(select).toBeNull();
|
||||
});
|
||||
tick();
|
||||
|
||||
expect(de.query(By.css('.scope-button'))).toBeFalsy();
|
||||
}));
|
||||
|
||||
it('should display scopes when showScopeSelector is true', fakeAsync(() => {
|
||||
comp.showScopeSelector = true;
|
||||
|
||||
fixture.detectChanges();
|
||||
tick();
|
||||
|
||||
expect(de.query(By.css('.scope-button'))).toBeTruthy();
|
||||
}));
|
||||
|
||||
it('should display set query value in input field', fakeAsync(() => {
|
||||
const testString = 'This is a test query';
|
||||
|
Reference in New Issue
Block a user