umbraco-cypress-testhelpers
Version:
Test helpers for making Cypress tests for Umbraco solutions
38 lines (29 loc) • 1.03 kB
text/typescript
import { NodePermissionBuilder } from './nodePermissionBuilder';
export class NodePermissionCollectionBuilder {
nodePermissionBuilders: NodePermissionBuilder[];
parentBuilder;
constructor(parentBuilder) {
this.nodePermissionBuilders = [];
this.parentBuilder = parentBuilder;
}
addNodePermission(nodePermissionBuilder?: NodePermissionBuilder) {
const builder =
nodePermissionBuilder === null || nodePermissionBuilder == undefined
? new NodePermissionBuilder(this)
: nodePermissionBuilder;
this.nodePermissionBuilders.push(builder);
return builder;
}
done() {
return this.parentBuilder;
}
build() {
let result = {};
// Each NodePermission builder returns an object, with the node ID as property key and the permission array as value
// we need to merge all of these to a single object the backend will accept.
this.nodePermissionBuilders.forEach((builder) => {
result = Object.assign(result, builder.build());
});
return result;
}
}