const TimingComponent = require('./buildCalculator/timingComponent'); const FilterComponent = require('./buildCalculator/filterComponent'); const OptionsComponent = require('./buildCalculator/optionsComponent'); const BankComponent = require('./buildCalculator/bankComponent'); const ArmyComponent = require('./buildCalculator/armyComponent'); const HighlightsComponent = require('./buildCalculator/highlightsComponent'); const BuildOrderComponent = require('./buildCalculator/buildOrderComponent'); const TimelineComponent = require('./buildCalculator/timelineComponent'); const HotkeyViewerComponent = require('./buildCalculator/hotkeyViewerComponent'); const EntityClickViewComponent = require('./buildCalculator/entityClickViewComponent'); const BuildChartComponent = require('./buildCalculator/buildChartComponent'); const ToastComponent = require('../shared/toastComponent'); const BasePage = require('./base.page'); class BuildCalculatorPage extends BasePage { constructor(website) { super(website); this.timing = new TimingComponent(website); this.filter = new FilterComponent(website); this.options = new OptionsComponent(website); this.bank = new BankComponent(website); this.army = new ArmyComponent(website); this.highlights = new HighlightsComponent(website); this.buildOrder = new BuildOrderComponent(website); this.timeline = new TimelineComponent(website); this.hotkeys = new HotkeyViewerComponent(website); this.entityView = new EntityClickViewComponent(website); this.chart = new BuildChartComponent(website); this.toast = new ToastComponent(website); } get url() { return 'build-calculator'; } calculatorGrid() { return this.website.locator('.calculatorGrid'); } clearBuildOrderButton() { return this.website.locator('button').filter({ hasText: 'Clear Build Order' }); } async clickClearBuildOrder() { await this.clearBuildOrderButton().click(); } async goto() { await this.website.goto(this.url); return this; } } module.exports = BuildCalculatorPage;