export class ProgressBar { constructor(private selector: string) {} getPart(index: number) { return cy .daAttr(this.selector) .find('.part') .eq(index); } assertColors(...expectedColors: string[]) { for (let i = 0; i < expectedColors.length; i++) { this.getPart(i).should('have.class', `${expectedColors[i]}-background-color`); } } assertWidths(...expectedWidths: number[]) { for (let i = 0; i < expectedWidths.length; i++) { this.getPart(i) .invoke('outerWidth') .should('be.gt', expectedWidths[i] - 1) .and('be.lt', expectedWidths[i] + 1); } } }