* feat: [#456] select markets modal opening from market title * feat: add a global zustand store for managing connect dialogs and landing dialog * feat: add tests * feat: [#456] make arrow configurable * feat: [#456] make arrow configurable * feat: [#456] trading tab active only on portfolio * chore: update tranches Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> * fix: [#445] shallow routing from index (#484) * fix: [#445] shallow routing from index * fix: [#445] use link to redirect to market - an attempt to fix reload * fix: [#445] remove stretched link from last link - it makes all the other links unusable * fix: [#445] fix lint on select market list - remove stretched link * fix: [#456] put everything in landing folder to avoid conflicts * fix: remove condition for cypress for auto connecting * feat: [#456] add global store and fix href routing * feat: [#456] add global store and fix href routing * feat: [#456] add one more test * feat: [#154] pull market data summary * feat: [#154] move header above the trade grid child sections * feat: [#154] flex oerflow and styling updates for market summary * feat: [#154] fix styling * fix: [154] fix cyp tests and styling * fix: [#154] fix markets navigation cypress step * fix: [#154] fix for navigate to markets link * fix: failing tests from market change * fix: [#154] set nav items based on market id and show last viewed market on landing * fix: [#412] invalid decimal place on realised PnL field * fix: [#154] remove redundant curly braces * fix: [#154] show hyphen on volume if market data is undefined Co-authored-by: Matthew Russell <mattrussell36@gmail.com> Co-authored-by: dexturr <dexturr@users.noreply.github.com> Co-authored-by: Joe <joe@vega.xyz>
55 lines
1.4 KiB
TypeScript
55 lines
1.4 KiB
TypeScript
export default class BasePage {
|
|
closeDialogBtn = 'dialog-close';
|
|
portfolioUrl = '/portfolio';
|
|
marketsUrl = '/markets';
|
|
assetSelectField = 'select[name="asset"]';
|
|
toAddressField = 'input[name="to"]';
|
|
amountField = 'input[name="amount"]';
|
|
formFieldError = 'input-error-text';
|
|
dialogHeader = 'dialog-title';
|
|
dialogText = 'dialog-text';
|
|
|
|
closeDialog() {
|
|
cy.getByTestId(this.closeDialogBtn, { timeout: 8000 })?.click({
|
|
force: true,
|
|
});
|
|
}
|
|
|
|
navigateToPortfolio() {
|
|
cy.get(`a[href='${this.portfolioUrl}']`)
|
|
.should('be.visible')
|
|
.click({ force: true });
|
|
cy.url().should('include', '/portfolio');
|
|
cy.getByTestId('portfolio');
|
|
}
|
|
|
|
navigateToMarkets() {
|
|
cy.getByTestId('markets-link').should('be.visible').click({ force: true });
|
|
cy.url().should('include', '/markets');
|
|
}
|
|
|
|
verifyFormErrorDisplayed(expectedError: string, expectedNumErrors: number) {
|
|
cy.getByTestId(this.formFieldError).should('contain.text', expectedError);
|
|
cy.getByTestId(this.formFieldError).should(
|
|
'have.length',
|
|
expectedNumErrors
|
|
);
|
|
}
|
|
|
|
updateTransactionForm(args?: {
|
|
asset?: string;
|
|
to?: string;
|
|
amount?: string;
|
|
}) {
|
|
if (args?.asset) {
|
|
cy.get(this.assetSelectField).select(args.asset);
|
|
}
|
|
if (args?.to) {
|
|
cy.get(this.toAddressField).clear().type(args.to);
|
|
}
|
|
if (args?.amount) {
|
|
cy.get(this.amountField).clear().type(args.amount);
|
|
}
|
|
}
|
|
}
|