55946: Spec file fixes

This commit is contained in:
Kristof De Langhe
2018-11-30 17:31:09 +01:00
parent 930af49030
commit 32db97e67d
6 changed files with 71 additions and 49 deletions

View File

@@ -1,6 +1,5 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { RouterTestingModule } from '@angular/router/testing';
import { Observable } from 'rxjs/Observable';
import { RemoteData } from '../../../core/data/remote-data';
import { PaginatedList } from '../../../core/data/paginated-list';
import { PageInfo } from '../../../core/shared/page-info.model';
@@ -15,6 +14,7 @@ import { NO_ERRORS_SCHEMA } from '@angular/core';
import { By } from '@angular/platform-browser';
import { CollectionSelectComponent } from './collection-select.component';
import { Collection } from '../../../core/shared/collection.model';
import { of } from 'rxjs/internal/observable/of';
describe('ItemSelectComponent', () => {
let comp: CollectionSelectComponent;
@@ -31,7 +31,7 @@ describe('ItemSelectComponent', () => {
name: 'name2'
})
];
const mockCollections = Observable.of(new RemoteData(false, false, true, null, new PaginatedList(new PageInfo(), mockCollectionList)));
const mockCollections = of(new RemoteData(false, false, true, null, new PaginatedList(new PageInfo(), mockCollectionList)));
const mockPaginationOptions = Object.assign(new PaginationComponentOptions(), {
id: 'search-page-configuration',
pageSize: 10,

View File

@@ -2,7 +2,6 @@ import { ItemSelectComponent } from './item-select.component';
import { async, ComponentFixture, fakeAsync, TestBed, tick } from '@angular/core/testing';
import { RouterTestingModule } from '@angular/router/testing';
import { Item } from '../../../core/shared/item.model';
import { Observable } from 'rxjs/Observable';
import { RemoteData } from '../../../core/data/remote-data';
import { PaginatedList } from '../../../core/data/paginated-list';
import { PageInfo } from '../../../core/shared/page-info.model';
@@ -15,6 +14,7 @@ import { HostWindowService } from '../../host-window.service';
import { HostWindowServiceStub } from '../../testing/host-window-service-stub';
import { NO_ERRORS_SCHEMA } from '@angular/core';
import { By } from '@angular/platform-browser';
import { of } from 'rxjs/internal/observable/of';
describe('ItemSelectComponent', () => {
let comp: ItemSelectComponent;
@@ -24,7 +24,7 @@ describe('ItemSelectComponent', () => {
const mockItemList = [
Object.assign(new Item(), {
id: 'id1',
bitstreams: Observable.of({}),
bitstreams: of({}),
metadata: [
{
key: 'dc.title',
@@ -39,7 +39,7 @@ describe('ItemSelectComponent', () => {
}),
Object.assign(new Item(), {
id: 'id2',
bitstreams: Observable.of({}),
bitstreams: of({}),
metadata: [
{
key: 'dc.title',
@@ -53,7 +53,7 @@ describe('ItemSelectComponent', () => {
}]
})
];
const mockItems = Observable.of(new RemoteData(false, false, true, null, new PaginatedList(new PageInfo(), mockItemList)));
const mockItems = of(new RemoteData(false, false, true, null, new PaginatedList(new PageInfo(), mockItemList)));
const mockPaginationOptions = Object.assign(new PaginationComponentOptions(), {
id: 'search-page-configuration',
pageSize: 10,

View File

@@ -5,6 +5,7 @@ import {
} from './object-select.actions';
import { objectSelectionReducer } from './object-select.reducer';
const key = 'key';
const objectId1 = 'id1';
const objectId2 = 'id2';
@@ -12,7 +13,7 @@ class NullAction extends ObjectSelectionSelectAction {
type = null;
constructor() {
super(undefined);
super(undefined, undefined);
}
}
@@ -20,7 +21,8 @@ describe('objectSelectionReducer', () => {
it('should return the current state when no valid actions have been made', () => {
const state = {};
state[objectId1] = { checked: true };
state[key] = {};
state[key][objectId1] = { checked: true };
const action = new NullAction();
const newState = objectSelectionReducer(state, action);
@@ -36,63 +38,68 @@ describe('objectSelectionReducer', () => {
});
it('should set checked to true in response to the INITIAL_SELECT action', () => {
const action = new ObjectSelectionInitialSelectAction(objectId1);
const action = new ObjectSelectionInitialSelectAction(key, objectId1);
const newState = objectSelectionReducer(undefined, action);
expect(newState[objectId1].checked).toBeTruthy();
expect(newState[key][objectId1].checked).toBeTruthy();
});
it('should set checked to true in response to the INITIAL_DESELECT action', () => {
const action = new ObjectSelectionInitialDeselectAction(objectId1);
const action = new ObjectSelectionInitialDeselectAction(key, objectId1);
const newState = objectSelectionReducer(undefined, action);
expect(newState[objectId1].checked).toBeFalsy();
expect(newState[key][objectId1].checked).toBeFalsy();
});
it('should set checked to true in response to the SELECT action', () => {
const state = {};
state[objectId1] = { checked: false };
const action = new ObjectSelectionSelectAction(objectId1);
state[key] = {};
state[key][objectId1] = { checked: false };
const action = new ObjectSelectionSelectAction(key, objectId1);
const newState = objectSelectionReducer(state, action);
expect(newState[objectId1].checked).toBeTruthy();
expect(newState[key][objectId1].checked).toBeTruthy();
});
it('should set checked to false in response to the DESELECT action', () => {
const state = {};
state[objectId1] = { checked: true };
const action = new ObjectSelectionDeselectAction(objectId1);
state[key] = {};
state[key][objectId1] = { checked: true };
const action = new ObjectSelectionDeselectAction(key, objectId1);
const newState = objectSelectionReducer(state, action);
expect(newState[objectId1].checked).toBeFalsy();
expect(newState[key][objectId1].checked).toBeFalsy();
});
it('should set checked from false to true in response to the SWITCH action', () => {
const state = {};
state[objectId1] = { checked: false };
const action = new ObjectSelectionSwitchAction(objectId1);
state[key] = {};
state[key][objectId1] = { checked: false };
const action = new ObjectSelectionSwitchAction(key, objectId1);
const newState = objectSelectionReducer(state, action);
expect(newState[objectId1].checked).toBeTruthy();
expect(newState[key][objectId1].checked).toBeTruthy();
});
it('should set checked from true to false in response to the SWITCH action', () => {
const state = {};
state[objectId1] = { checked: true };
const action = new ObjectSelectionSwitchAction(objectId1);
state[key] = {};
state[key][objectId1] = { checked: true };
const action = new ObjectSelectionSwitchAction(key, objectId1);
const newState = objectSelectionReducer(state, action);
expect(newState[objectId1].checked).toBeFalsy();
expect(newState[key][objectId1].checked).toBeFalsy();
});
it('should set reset the state in response to the RESET action', () => {
it('should reset the state in response to the RESET action', () => {
const state = {};
state[objectId1] = { checked: true };
state[objectId2] = { checked: false };
const action = new ObjectSelectionResetAction(undefined);
state[key] = {};
state[key][objectId1] = { checked: true };
state[key][objectId2] = { checked: false };
const action = new ObjectSelectionResetAction(key, undefined);
const newState = objectSelectionReducer(state, action);
expect(newState).toEqual({});
expect(newState[key]).toEqual({});
});
});

View File

@@ -1,7 +1,6 @@
import { ObjectSelectService } from './object-select.service';
import { Store } from '@ngrx/store';
import { Observable } from 'rxjs/Observable';
import { ObjectSelectionsState } from './object-select.reducer';
import { ObjectSelectionListState, ObjectSelectionsState } from './object-select.reducer';
import { AppState } from '../../app.reducer';
import {
ObjectSelectionDeselectAction,
@@ -9,87 +8,96 @@ import {
ObjectSelectionInitialSelectAction, ObjectSelectionResetAction,
ObjectSelectionSelectAction, ObjectSelectionSwitchAction
} from './object-select.actions';
import { of } from 'rxjs/internal/observable/of';
describe('ObjectSelectService', () => {
let service: ObjectSelectService;
const mockKey = 'key';
const mockObjectId = 'id1';
const selectionStore: Store<ObjectSelectionListState> = jasmine.createSpyObj('selectionStore', {
/* tslint:disable:no-empty */
dispatch: {},
/* tslint:enable:no-empty */
select: of(true)
});
const store: Store<ObjectSelectionsState> = jasmine.createSpyObj('store', {
/* tslint:disable:no-empty */
dispatch: {},
/* tslint:enable:no-empty */
select: Observable.of(true)
select: of(true)
});
const appStore: Store<AppState> = jasmine.createSpyObj('appStore', {
/* tslint:disable:no-empty */
dispatch: {},
/* tslint:enable:no-empty */
select: Observable.of(true)
select: of(true)
});
beforeEach(() => {
service = new ObjectSelectService(store, appStore);
service = new ObjectSelectService(selectionStore, appStore);
});
describe('when the initialSelect method is triggered', () => {
beforeEach(() => {
service.initialSelect(mockObjectId);
service.initialSelect(mockKey, mockObjectId);
});
it('ObjectSelectionInitialSelectAction should be dispatched to the store', () => {
expect(store.dispatch).toHaveBeenCalledWith(new ObjectSelectionInitialSelectAction(mockObjectId));
expect(selectionStore.dispatch).toHaveBeenCalledWith(new ObjectSelectionInitialSelectAction(mockKey, mockObjectId));
});
});
describe('when the initialDeselect method is triggered', () => {
beforeEach(() => {
service.initialDeselect(mockObjectId);
service.initialDeselect(mockKey, mockObjectId);
});
it('ObjectSelectionInitialDeselectAction should be dispatched to the store', () => {
expect(store.dispatch).toHaveBeenCalledWith(new ObjectSelectionInitialDeselectAction(mockObjectId));
expect(selectionStore.dispatch).toHaveBeenCalledWith(new ObjectSelectionInitialDeselectAction(mockKey, mockObjectId));
});
});
describe('when the select method is triggered', () => {
beforeEach(() => {
service.select(mockObjectId);
service.select(mockKey, mockObjectId);
});
it('ObjectSelectionSelectAction should be dispatched to the store', () => {
expect(store.dispatch).toHaveBeenCalledWith(new ObjectSelectionSelectAction(mockObjectId));
expect(selectionStore.dispatch).toHaveBeenCalledWith(new ObjectSelectionSelectAction(mockKey, mockObjectId));
});
});
describe('when the deselect method is triggered', () => {
beforeEach(() => {
service.deselect(mockObjectId);
service.deselect(mockKey, mockObjectId);
});
it('ObjectSelectionDeselectAction should be dispatched to the store', () => {
expect(store.dispatch).toHaveBeenCalledWith(new ObjectSelectionDeselectAction(mockObjectId));
expect(selectionStore.dispatch).toHaveBeenCalledWith(new ObjectSelectionDeselectAction(mockKey, mockObjectId));
});
});
describe('when the switch method is triggered', () => {
beforeEach(() => {
service.switch(mockObjectId);
service.switch(mockKey, mockObjectId);
});
it('ObjectSelectionSwitchAction should be dispatched to the store', () => {
expect(store.dispatch).toHaveBeenCalledWith(new ObjectSelectionSwitchAction(mockObjectId));
expect(selectionStore.dispatch).toHaveBeenCalledWith(new ObjectSelectionSwitchAction(mockKey, mockObjectId));
});
});
describe('when the reset method is triggered', () => {
beforeEach(() => {
service.reset();
service.reset(mockKey);
});
it('ObjectSelectionInitialSelectAction should be dispatched to the store', () => {
expect(store.dispatch).toHaveBeenCalledWith(new ObjectSelectionResetAction(null));
expect(selectionStore.dispatch).toHaveBeenCalledWith(new ObjectSelectionResetAction(mockKey, null));
});
});