Skip to content

Commit

Permalink
SHIBUI-1332 Fixed unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
rmathis committed Jul 25, 2019
1 parent 9393832 commit d7d6fda
Show file tree
Hide file tree
Showing 23 changed files with 160 additions and 138 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,8 @@ describe('Configuration Property Component', () => {

describe('getItemType method', () => {
it('should return the item`s type', () => {
expect(app.getItemType({ widget: { id: 'string' } } as Property)).toBe('string');
expect(app.getItemType({items: { widget: { id: 'string' } } } as Property)).toBe('string');
expect(app.getItemType({items: {}} as Property)).toBe('default');
expect(app.getItemType({} as Property)).toBe('default');
});
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ export class ConfigurationPropertyComponent {

getItemType(property: Property): string {
const items = property.items;
return items.widget ? items.widget.id : 'default';
const def = 'default';
return items ? items.widget ? items.widget.id : def : def;
}

get width(): string {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Component } from '@angular/core';
import { FilterListComponent } from '../../filter/container/filter-list.component';
import { FilterListComponent } from '../../filter/component/filter-list.component';

@Component({
selector: 'filter-configuration-list',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ <h2 class="title h4 m-0 flex-grow-1">
*ngIf="section"
[property]="section"
[columns]="configuration.dates.length"
(preview)="onPreview($event)">
(preview)="preview.emit($event)">
</object-property>
</div>
</div>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Component, ChangeDetectionStrategy, Input } from '@angular/core';
import { Component, ChangeDetectionStrategy, Input, Output, EventEmitter } from '@angular/core';
import { Router, ActivatedRoute } from '@angular/router';
import { MetadataConfiguration } from '../model/metadata-configuration';
import { Property } from '../../domain/model/property';
Expand All @@ -21,23 +21,17 @@ export class MetadataConfigurationComponent {
@Input() numbered = true;
@Input() editable = true;

@Output() preview: EventEmitter<any> = new EventEmitter();

constructor(
private router: Router,
private activatedRoute: ActivatedRoute,
private store: Store<ConfigurationState>
private activatedRoute: ActivatedRoute
) {}

edit(id: string): void {
this.router.navigate(['../', 'edit', id], { relativeTo: this.activatedRoute.parent });
}

onPreview($event): void {
this.store.dispatch(new PreviewEntity({
id: $event.data,
entity: this.definition.getEntity(this.entity)
}));
}

get width(): string {
const columns = this.configuration.dates.length;
return `${Math.floor(100 / (columns + 1)) }%`;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import { SCHEMA } from '../../../../testing/form-schema.stub';
import { getStepProperties, getStepProperty } from '../../domain/utility/configuration';
import { PrimitivePropertyComponent } from './primitive-property.component';
import { ArrayPropertyComponent } from './array-property.component';
import { FilterTargetPropertyComponent } from './filter-target-property.component';

@Component({
template: `
Expand Down Expand Up @@ -44,6 +45,7 @@ describe('Object Property Component', () => {
ObjectPropertyComponent,
PrimitivePropertyComponent,
ArrayPropertyComponent,
FilterTargetPropertyComponent,
TestHostComponent
]
}).compileComponents();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
</div>
<metadata-configuration
[configuration]="configuration$ | async"
(preview)="onPreview($event)"
id="configuration">
</metadata-configuration>
<div *ngIf="kind === 'provider'" id="filters">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,30 +6,20 @@ import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';

import { MetadataConfiguration } from '../model/metadata-configuration';
import * as fromConfiguration from '../reducer';
import * as fromFilters from '../../filter/reducer';
import * as fromProviders from '../../provider/reducer';
import * as fromResolvers from '../../resolver/reducer';
import { MockI18nModule } from '../../../../testing/i18n.stub';
import { MetadataOptionsComponent } from './metadata-options.component';
import { Metadata } from '../../domain/domain.type';
import { MetadataVersion } from '../model/version';
import { CommonModule } from '@angular/common';

@Component({
selector: 'metadata-configuration',
template: ``
})
class MetadataConfigurationComponent {
@Input() configuration: MetadataConfiguration;
}

@Component({
selector: 'metadata-header',
template: ``
})
class MetadataHeaderComponent {
@Input() isEnabled: boolean;
@Input() version: MetadataVersion;
@Input() versionNumber: number;
@Input() isCurrent: boolean;
}
import {
MetadataConfigurationComponentStub,
MetadataHeaderComponentStub
} from '../../../../testing/metadata-configuration.stub';
import {
FilterConfigurationListComponentStub
} from '../../../../testing/filter-list.stub';

@Component({
template: `
Expand Down Expand Up @@ -59,16 +49,20 @@ describe('Metadata Options Page Component', () => {
NgbDropdownModule,
StoreModule.forRoot({
'metadata-configuration': combineReducers(fromConfiguration.reducers),
'filters': combineReducers(fromFilters.reducers),
'provider': combineReducers(fromProviders.reducers),
'resolver': combineReducers(fromResolvers.reducers)
}),
MockI18nModule,
RouterTestingModule,
CommonModule
],
declarations: [
MetadataOptionsComponent,
MetadataConfigurationComponent,
MetadataHeaderComponent,
TestHostComponent
MetadataConfigurationComponentStub,
MetadataHeaderComponentStub,
TestHostComponent,
FilterConfigurationListComponentStub
],
}).compileComponents();

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
import { Store } from '@ngrx/store';
import { Component, ChangeDetectionStrategy, OnDestroy, HostListener, ElementRef } from '@angular/core';
import { Component, ChangeDetectionStrategy, OnDestroy } from '@angular/core';
import { Observable, Subject } from 'rxjs';
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
import { Router, Event, Scroll } from '@angular/router';
import { ViewportScroller } from '@angular/common';
import { takeUntil, filter, delay } from 'rxjs/operators';

import {
ConfigurationState,
Expand All @@ -11,7 +15,7 @@ import {
getConfigurationModelEnabled,
getConfigurationHasXml,
getConfigurationModel,
getConfigurationModelKind
getConfigurationDefinition
} from '../reducer';
import { MetadataConfiguration } from '../model/metadata-configuration';
import { MetadataVersion } from '../model/version';
Expand All @@ -24,13 +28,11 @@ import {
ChangeFilterOrderUp,
RemoveFilterRequest
} from '../../filter/action/collection.action';
import { takeUntil, map, filter, delay } from 'rxjs/operators';

import { Metadata } from '../../domain/domain.type';
import { DeleteFilterComponent } from '../../provider/component/delete-filter.component';
import { ModalService } from '../../../core/service/modal.service';
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
import { Router, Event, Scroll } from '@angular/router';
import { ViewportScroller } from '@angular/common';
import { Wizard } from '../../../wizard/model';
import { PreviewEntity } from '../../domain/action/entity.action';

@Component({
selector: 'metadata-options-page',
Expand All @@ -50,6 +52,7 @@ export class MetadataOptionsComponent implements OnDestroy {
hasXml$: Observable<boolean>;
filters$: Observable<unknown[]>;
model$: Observable<Metadata>;
definition: Wizard<any>;
id: string;
kind: string;

Expand All @@ -73,10 +76,11 @@ export class MetadataOptionsComponent implements OnDestroy {

this.model$
.pipe(
takeUntil(this.ngUnsubscribe)
takeUntil(this.ngUnsubscribe),
filter(model => !!model)
)
.subscribe(p => {
this.id = p.resourceId;
this.id = 'resourceId' in p ? p.resourceId : p.id;
this.kind = '@type' in p ? 'provider' : 'resolver';
if (this.kind === 'provider') {
this.store.dispatch(new LoadFilterRequest(this.id));
Expand All @@ -90,6 +94,12 @@ export class MetadataOptionsComponent implements OnDestroy {
).subscribe(e => {
scroller.scrollToAnchor(e.anchor);
});

this.store.select(getConfigurationDefinition)
.pipe(
takeUntil(this.ngUnsubscribe)
)
.subscribe(d => this.definition = d);
}

onScrollTo(element): void {
Expand All @@ -105,7 +115,6 @@ export class MetadataOptionsComponent implements OnDestroy {
}

removeFilter(id: string): void {
console.log(id);
this.modalService
.open(DeleteFilterComponent)
.result
Expand All @@ -119,6 +128,13 @@ export class MetadataOptionsComponent implements OnDestroy {
);
}

onPreview($event: { data: any, parent: Metadata }): void {
this.store.dispatch(new PreviewEntity({
id: $event.data,
entity: this.definition.getEntity($event.parent)
}));
}

ngOnDestroy(): void {
this.ngUnsubscribe.next();
this.ngUnsubscribe.complete();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,16 @@ import { FileBackedHttpMetadataProviderEditor } from '../../provider/model';
import { MetadataSourceEditor } from '../../domain/model/wizards/metadata-source-editor';
import { ResolverService } from '../../domain/service/resolver.service';
import { of } from 'rxjs';
import { MetadataProviderService } from '../../domain/service/provider.service';

describe(`Configuration Service`, () => {

let resolverService: any;

let mockService = {
find: () => of([])
};

beforeEach(() => {
TestBed.configureTestingModule({
imports: [
Expand All @@ -20,9 +25,12 @@ describe(`Configuration Service`, () => {
providers: [
MetadataConfigurationService,
{
provide: ResolverService, useValue: {
find: () => of([])
}
provide: ResolverService,
useValue: mockService
},
{
provide: MetadataProviderService,
useValue: mockService
}
]
});
Expand Down
30 changes: 30 additions & 0 deletions ui/src/app/metadata/filter/component/filter-list.component.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
import { TestBed, ComponentFixture } from '@angular/core/testing';
import { FilterListComponent } from './filter-list.component';
import { RouterModule } from '@angular/router';

describe('Filter List Component', () => {
let fixture: ComponentFixture<FilterListComponent>;
let instance: FilterListComponent;

beforeEach(() => {
TestBed.configureTestingModule({
providers: [],
imports: [
RouterModule
],
declarations: [
FilterListComponent
],
});

fixture = TestBed.createComponent(FilterListComponent);
instance = fixture.componentInstance;
});

it('should compile', () => {
fixture.detectChanges();

expect(fixture).toBeDefined();
expect(instance).toBeDefined();
});
});
Empty file.
2 changes: 1 addition & 1 deletion ui/src/app/metadata/filter/filter.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import { FilterCollectionEffects } from './effect/collection.effect';
import { FormModule } from '../../schema-form/schema-form.module';
import { I18nModule } from '../../i18n/i18n.module';
import { FilterComponent } from './container/filter.component';
import { FilterListComponent } from './container/filter-list.component';
import { FilterListComponent } from './component/filter-list.component';

@NgModule({
declarations: [
Expand Down
Original file line number Diff line number Diff line change
@@ -1,51 +1,10 @@
import { Wizard } from '../../../wizard/model';
import { MetadataFilter } from '../../domain/model';
import { removeNulls } from '../../../shared/util';
import { EntityAttributesFilterEntity } from '../../domain/entity';
import { EntityAttributesFilter } from './entity-attributes.filter';

export const EntityAttributesFilterConfiguration: Wizard<MetadataFilter> = {
label: 'EntityAttributes',
type: 'EntityAttributes',
schema: '/api/ui/EntityAttributesFilters',
getEntity(filter: MetadataFilter): EntityAttributesFilterEntity {
return new EntityAttributesFilterEntity(filter);
},
getValidators(namesList: string[] = []): any {
const validators = {
'/': (value, property, form_current) => {
let errors;
// iterate all customer
Object.keys(value).forEach((key) => {
const item = value[key];
const validatorKey = `/${key}`;
const validator = validators.hasOwnProperty(validatorKey) ? validators[validatorKey] : null;
const error = validator ? validator(item, { path: `/${key}` }, form_current) : null;
if (error) {
errors = errors || [];
errors.push(error);
}
});
return errors;
},
'/name': (value, property, form) => {
const err = namesList.indexOf(value) > -1 ? {
code: 'INVALID_NAME',
path: `#${property.path}`,
message: 'message.name-must-be-unique',
params: [value]
} : null;
return err;
}
};
return validators;
},
parser: (changes: any): MetadataFilter => {
return {
...changes,
relyingPartyOverrides: removeNulls(new EntityAttributesFilterEntity(changes).relyingPartyOverrides)
};
},
formatter: (changes: MetadataFilter): any => changes,
...EntityAttributesFilter,
steps: [
{
id: 'target',
Expand Down
Loading

0 comments on commit d7d6fda

Please sign in to comment.