Select Git revision
aggregation-mapping.verifier.ts
aggregation-mapping.verifier.ts 1.83 KiB
import { AggregationMapping, FieldMapping } from '@admin-client/reporting-shared';
import { AggregationMappingFormE2EComponent } from '../../components/aggregation-mapping/aggregation-mapping-form.e2e.component';
import {
AggregationMappingE2EComponent,
AggregationMappingListItemE2EComponent,
} from '../../components/aggregation-mapping/aggregation-mapping.e2e.component';
import { haveText, haveValue } from '../../support/cypress.util';
export class E2EAggregationMappingVerifier {
private component: AggregationMappingE2EComponent = new AggregationMappingE2EComponent();
private formComponent: AggregationMappingFormE2EComponent = new AggregationMappingFormE2EComponent();
public verifyFieldMapping(fieldMapping: FieldMapping, index: number): void {
haveValue(this.formComponent.getSourceMappingFieldInput(index), fieldMapping.sourcePath);
haveValue(this.formComponent.getTargetMappingFieldInput(index), fieldMapping.targetPath);
}
public verifyForm(aggregationMapping: AggregationMapping): void {
haveValue(this.formComponent.getNameInput(), aggregationMapping.name);
haveValue(this.formComponent.getFormEngineInput(), aggregationMapping.formIdentifier.formEngineName);
haveValue(this.formComponent.getFormIdInput(), aggregationMapping.formIdentifier.formId);
aggregationMapping.mappings.forEach((fieldMapping, index) => {
this.verifyFieldMapping(fieldMapping, index);
});
}
public verifyAggregationMappingInList(aggregationMapping: AggregationMapping): void {
const listItem: AggregationMappingListItemE2EComponent = this.component.getListItem(aggregationMapping.name);
haveText(listItem.getName(), aggregationMapping.name);
haveText(listItem.getFormEngineName(), aggregationMapping.formIdentifier.formEngineName);
haveText(listItem.getFormId(), aggregationMapping.formIdentifier.formId);
}
}