Skip to content

Commit

Permalink
fixed test
Browse files Browse the repository at this point in the history
  • Loading branch information
rmathis committed Mar 17, 2021
1 parent 98be185 commit af8c08a
Show file tree
Hide file tree
Showing 11 changed files with 152 additions and 200 deletions.
6 changes: 3 additions & 3 deletions ui/karma.conf.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,14 @@ module.exports = function (config) {
require('karma-jasmine'),
require('karma-chrome-launcher'),
require('karma-jasmine-html-reporter'),
require('karma-coverage-istanbul-reporter'),
require('karma-coverage'),
require('karma-spec-reporter'),
require('@angular-devkit/build-angular/plugins/karma')
],
client: {
clearContext: false // leave Jasmine Spec Runner output visible in browser
},
coverageIstanbulReporter: {
coverageReporter: {
dir: require('path').join(__dirname, 'coverage'), reports: ['html', 'lcovonly', 'text-summary'],
fixWebpackSourcePaths: true,
skipFilesWithNoCoverage: false,
Expand All @@ -41,7 +41,7 @@ module.exports = function (config) {
angularCli: {
environment: 'dev'
},
reporters: ['spec', 'coverage-istanbul'],
reporters: ['spec', 'coverage'],
port: 9876,
colors: true,
logLevel: config.LOG_WARN,
Expand Down
213 changes: 80 additions & 133 deletions ui/package-lock.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion ui/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,9 @@
"karma": "~5.0.0",
"karma-chrome-launcher": "~3.1.0",
"karma-cli": "^2.0.0",
"karma-coverage-istanbul-reporter": "~3.0.2",
"karma-jasmine": "~4.0.0",
"karma-jasmine-html-reporter": "^1.5.0",
"karma-coverage": "^2.0.3",
"karma-spec-reporter": "0.0.32",
"ncp": "^2.0.0",
"node-sass": "^4.14.1",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
</div>
</div>
<div class="py-2">
<button (click)="this.save()" type="submit" class="btn btn-primary" [disabled]="cantSave$ | async">
<button (click)="this.save(providerId)" type="submit" class="btn btn-primary" [disabled]="cantSave$ | async">
<i class="fa fa-fw fa-lg" [ngClass]="{
'fa-save': !(isSaving$ | async),
'fa-spinner': (isSaving$ | async),
Expand All @@ -31,7 +31,7 @@
<translate-i18n key="action.save">Save</translate-i18n>
</button>
&nbsp;
<button (click)="this.cancel($event)" type="button" class="btn btn-secondary" [disabled]="isSaving$ | async">
<button (click)="this.cancel(providerId)" type="button" class="btn btn-secondary" [disabled]="isSaving$ | async">
<translate-i18n key="action.cancel">Cancel</translate-i18n>
</button>
</div>
Expand Down
40 changes: 17 additions & 23 deletions ui/src/app/metadata/filter/container/edit-filter.component.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,32 @@ import { TestBed, ComponentFixture } from '@angular/core/testing';
import { ReactiveFormsModule, FormBuilder } from '@angular/forms';
import { StoreModule, Store, combineReducers } from '@ngrx/store';
import * as fromFilter from '../reducer';
import * as fromWizard from '../../../wizard/reducer';
import { ProviderStatusEmitter, ProviderValueEmitter } from '../../domain/service/provider-change-emitter.service';
import { NgbPopoverModule, NgbPopoverConfig } from '@ng-bootstrap/ng-bootstrap';
import { NavigatorService } from '../../../core/service/navigator.service';
import { SharedModule } from '../../../shared/shared.module';
import { EditFilterComponent } from './edit-filter.component';
import { SchemaFormModule, WidgetRegistry, DefaultWidgetRegistry } from 'ngx-schema-form';
import { SchemaFormModule } from 'ngx-schema-form';
import { SchemaService } from '../../../schema-form/service/schema.service';
import { HttpClientModule } from '@angular/common/http';
import { MockI18nModule } from '../../../../testing/i18n.stub';
import { MetadataFilterTypes } from '../model';
import { RouterTestingModule } from '@angular/router/testing';
import { ActivatedRouteStub } from '../../../../testing/activated-route.stub';
import { ActivatedRoute } from '@angular/router';

describe('Edit Metadata Filter Page', () => {
let fixture: ComponentFixture<EditFilterComponent>;
let store: Store<fromFilter.State>;
let instance: EditFilterComponent;

let activatedRoute: ActivatedRouteStub = new ActivatedRouteStub();
activatedRoute.testParamMap = { providerId: 'foo' };
let child: ActivatedRouteStub = new ActivatedRouteStub();
child.testParamMap = { form: 'common' };
activatedRoute.firstChild = child;

beforeEach(() => {
TestBed.configureTestingModule({
providers: [
Expand All @@ -26,11 +36,15 @@ describe('Edit Metadata Filter Page', () => {
FormBuilder,
NgbPopoverConfig,
NavigatorService,
SchemaService
SchemaService,
{
provide: ActivatedRoute, useValue: activatedRoute
}
],
imports: [
StoreModule.forRoot({
'filter': combineReducers(fromFilter.reducers),
'wizard': combineReducers(fromWizard.reducers)
}),
ReactiveFormsModule,
NgbPopoverModule,
Expand Down Expand Up @@ -60,7 +74,7 @@ describe('Edit Metadata Filter Page', () => {
describe('cancel method', () => {
it('should dispatch a cancel changes action', () => {
fixture.detectChanges();
instance.cancel();
instance.cancel('foo');
expect(store.dispatch).toHaveBeenCalled();
});
});
Expand All @@ -73,24 +87,4 @@ describe('Edit Metadata Filter Page', () => {
expect(store.dispatch).toHaveBeenCalled();
});
});

describe('status emitter', () => {
it('should set the isValid property to true', () => {
fixture.detectChanges();
instance.statusChangeSubject.next({value: []});
expect(instance.isValid).toBe(true);
});

it('should set the isValid property to true if value is undefined', () => {
fixture.detectChanges();
instance.statusChangeSubject.next({value: null});
expect(instance.isValid).toBe(true);
});

it('should set the isValid property to false', () => {
fixture.detectChanges();
instance.statusChangeSubject.next({ value: [{control: 'foo'}] });
expect(instance.isValid).toBe(false);
});
});
});
13 changes: 7 additions & 6 deletions ui/src/app/metadata/filter/container/edit-filter.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ export class EditFilterComponent implements OnDestroy {
defSub: Subscription;

formats = NAV_FORMATS;
currentPage
providerId: string;

constructor(
private store: Store<fromFilter.State>,
Expand All @@ -52,6 +52,8 @@ export class EditFilterComponent implements OnDestroy {

this.defSub = this.definition$.subscribe(d => this.definition = d);

this.providerId = this.route.snapshot.params.providerId;

this.store
.select(fromWizard.getCurrentWizardSchema)
.pipe(filter(s => !!s), takeUntil(this.ngUnsubscribe))
Expand Down Expand Up @@ -91,16 +93,15 @@ export class EditFilterComponent implements OnDestroy {
this.defSub.unsubscribe();
}

save(): void {
save(id: string): void {
this.store.dispatch(new UpdateFilterRequest({
filter: this.filter,
providerId: this.route.snapshot.params.providerId
providerId: id
}));
}

cancel(event: MouseEvent): void {
event.preventDefault();
this.store.dispatch(new CancelCreateFilter(this.route.snapshot.params.providerId));
cancel(id: string): void {
this.store.dispatch(new CancelCreateFilter(id));
}

preview(id: string): void {
Expand Down
39 changes: 14 additions & 25 deletions ui/src/app/metadata/filter/container/new-filter.component.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { ReactiveFormsModule, FormBuilder } from '@angular/forms';
import { StoreModule, Store, combineReducers } from '@ngrx/store';
import { NewFilterComponent } from './new-filter.component';
import * as fromFilter from '../reducer';
import * as fromWizard from '../../../wizard/reducer';
import { ProviderStatusEmitter, ProviderValueEmitter } from '../../domain/service/provider-change-emitter.service';
import { NgbPopoverModule, NgbPopoverConfig } from '@ng-bootstrap/ng-bootstrap';
import { NavigatorService } from '../../../core/service/navigator.service';
Expand All @@ -11,12 +12,18 @@ import { SchemaFormModule, WidgetRegistry, DefaultWidgetRegistry } from 'ngx-sch
import { SchemaService } from '../../../schema-form/service/schema.service';
import { HttpClientModule } from '@angular/common/http';
import { MockI18nModule } from '../../../../testing/i18n.stub';
import { RouterTestingModule } from '@angular/router/testing';
import { ActivatedRoute } from '@angular/router';
import { ActivatedRouteStub } from '../../../../testing/activated-route.stub';

describe('New Metadata Filter Page', () => {
let fixture: ComponentFixture<NewFilterComponent>;
let store: Store<fromFilter.State>;
let instance: NewFilterComponent;

let activatedRoute: ActivatedRouteStub = new ActivatedRouteStub();
activatedRoute.testParamMap = { providerId: 'foo' };

beforeEach(() => {
TestBed.configureTestingModule({
providers: [
Expand All @@ -26,18 +33,23 @@ describe('New Metadata Filter Page', () => {
NgbPopoverConfig,
NavigatorService,
SchemaService,
{ provide: WidgetRegistry, useClass: DefaultWidgetRegistry }
{ provide: WidgetRegistry, useClass: DefaultWidgetRegistry },
{
provide: ActivatedRoute, useValue: activatedRoute
}
],
imports: [
StoreModule.forRoot({
'filter': combineReducers(fromFilter.reducers),
'wizard': combineReducers(fromWizard.reducers)
}),
ReactiveFormsModule,
NgbPopoverModule,
SharedModule,
HttpClientModule,
SchemaFormModule.forRoot(),
MockI18nModule
MockI18nModule,
RouterTestingModule
],
declarations: [
NewFilterComponent
Expand All @@ -64,27 +76,4 @@ describe('New Metadata Filter Page', () => {
expect(store.dispatch).toHaveBeenCalled();
});
});

describe('status emitter', () => {
it('should set the isValid property to true', () => {
fixture.detectChanges();
instance.statusChangeSubject.next({ value: [] });
fixture.detectChanges();
expect(instance.isValid).toBe(true);
});

it('should set the isValid property to true if value is undefined', () => {
fixture.detectChanges();
instance.statusChangeSubject.next({ value: null });
fixture.detectChanges();
expect(instance.isValid).toBe(true);
});

it('should set the isValid property to false', () => {
fixture.detectChanges();
instance.statusChangeSubject.next({ value: [{ control: 'foo' }] });
fixture.detectChanges();
expect(instance.isValid).toBe(false);
});
});
});
20 changes: 16 additions & 4 deletions ui/src/app/metadata/filter/reducer/collection.reducer.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -61,22 +61,31 @@ describe('Filter Reducer', () => {
describe(`${FilterCollectionActionTypes.ADD_FILTER_REQUEST}`, () => {
it('should set saving to true', () => {
const filter = new EntityAttributesFilterEntity({ resourceId: 'foo', createdDate: new Date().toLocaleDateString() });
const action = new AddFilterRequest(filter);
const action = new AddFilterRequest({
filter,
providerId: 'foo'
});
expect(reducer(snapshot, action).saving).toBe(true);
});
});
describe(`${FilterCollectionActionTypes.UPDATE_FILTER_REQUEST}`, () => {
it('should set saving to true', () => {
const filter = new EntityAttributesFilterEntity({ resourceId: 'foo', createdDate: new Date().toLocaleDateString() });
const action = new UpdateFilterRequest(filter);
const action = new UpdateFilterRequest({
filter,
providerId: 'foo'
});
expect(reducer(snapshot, action).saving).toBe(true);
});
});

describe(`${FilterCollectionActionTypes.ADD_FILTER_SUCCESS}`, () => {
it('should set saving to false', () => {
const filter = new EntityAttributesFilterEntity({ resourceId: 'foo', createdDate: new Date().toLocaleDateString() });
const action = new AddFilterSuccess(filter);
const action = new AddFilterSuccess({
filter,
providerId: 'foo'
});
expect(reducer(snapshot, action).saving).toBe(false);
});
});
Expand Down Expand Up @@ -124,7 +133,10 @@ describe('Filter Reducer', () => {
id: 'foo',
changes: new EntityAttributesFilterEntity({ resourceId: 'foo', name: 'bar', createdDate: new Date().toLocaleDateString() }),
};
const action = new UpdateFilterSuccess(update);
const action = new UpdateFilterSuccess({
update,
providerId: 'foo'
});
const result = reducer(snapshot, action);
expect(fromFilter.adapter.updateOne).toHaveBeenCalled();
});
Expand Down
2 changes: 1 addition & 1 deletion ui/src/app/metadata/filter/reducer/filter.reducer.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ describe('Filter Reducer', () => {
});
describe(`${FilterActionTypes.CANCEL_CREATE_FILTER} action`, () => {
it('should set saving to true', () => {
const result = reducer(snapshot, new CancelCreateFilter());
const result = reducer(snapshot, new CancelCreateFilter('foo'));
expect(result).toEqual(fromFilter.initialState);
});
});
Expand Down
10 changes: 8 additions & 2 deletions ui/src/app/metadata/filter/reducer/search.reducer.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,10 @@ describe('Filter Reducer', () => {
id: 'foo',
changes: new EntityAttributesFilterEntity({ resourceId: 'foo', name: 'bar', createdDate: new Date().toLocaleDateString() }),
};
const action = new UpdateFilterSuccess(update);
const action = new UpdateFilterSuccess({
update,
providerId: 'foo'
});
const result = reducer(snapshot, action);

expect(result).toEqual(snapshot);
Expand All @@ -83,7 +86,10 @@ describe('Filter Reducer', () => {
const filter = new EntityAttributesFilterEntity(
{ resourceId: 'foo', name: 'bar', createdDate: new Date().toLocaleDateString() }
);
const action = new AddFilterSuccess(filter);
const action = new AddFilterSuccess({
filter,
providerId: 'foo'
});
const result = reducer(snapshot, action);

expect(result).toEqual(snapshot);
Expand Down
3 changes: 3 additions & 0 deletions ui/src/testing/activated-route.stub.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ export class ActivatedRouteStub {

// Test parameters
private _testParamMap: ParamMap;
private _params: any;

private _firstChild: ActivatedRouteStub;

Expand All @@ -22,12 +23,14 @@ export class ActivatedRouteStub {
get testParamMap() { return this._testParamMap; }
set testParamMap(params: {}) {
this._testParamMap = convertToParamMap(params);
this._params = params;
this.subject.next(this._testParamMap);
}

// ActivatedRoute.snapshot.paramMap
get snapshot() {
return {
params: this._params,
paramMap: this.testParamMap,
};
}
Expand Down

0 comments on commit af8c08a

Please sign in to comment.