Test/1221 revisit market tests (#1234)
* test: test for sorting market * chore: add headers options to all cy.visit() * chore: revert header changes
This commit is contained in:
parent
dd8c237677
commit
75e3f327ff
@ -29,7 +29,8 @@ module.exports = defineConfig({
|
||||
defaultCommandTimeout: 10000,
|
||||
viewportWidth: 1440,
|
||||
viewportHeight: 900,
|
||||
responseTimeout: 10000,
|
||||
responseTimeout: 50000,
|
||||
requestTimeout: 10000,
|
||||
},
|
||||
env: {
|
||||
TRADING_TEST_VEGA_WALLET_NAME: 'UI_Trading_Test',
|
||||
|
@ -11,9 +11,7 @@ describe('deposit form validation', () => {
|
||||
aliasQuery(req, 'NetworkParamsQuery', generateNetworkParameters());
|
||||
aliasQuery(req, 'AssetsConnection', generateDepositPage());
|
||||
});
|
||||
cy.visit('/portfolio/deposit', {
|
||||
headers: { 'Accept-Encoding': 'gzip, deflate' },
|
||||
});
|
||||
cy.visit('/portfolio/deposit');
|
||||
|
||||
cy.wait('@AssetsConnection');
|
||||
// Deposit page requires connection Ethereum wallet first
|
||||
|
@ -9,7 +9,7 @@ describe('vega wallet', () => {
|
||||
|
||||
beforeEach(() => {
|
||||
// Using portfolio page as it requires vega wallet connection
|
||||
cy.visit('/portfolio', { headers: { 'Accept-Encoding': 'gzip, deflate' } });
|
||||
cy.visit('/portfolio');
|
||||
cy.get('main[data-testid="portfolio"]').should('exist');
|
||||
});
|
||||
|
||||
|
@ -1,29 +1,19 @@
|
||||
import { aliasQuery } from '@vegaprotocol/cypress';
|
||||
import { MarketState } from '@vegaprotocol/types';
|
||||
import { generateMarkets } from '../support/mocks/generate-markets';
|
||||
import { mockTradingPage } from '../support/trading';
|
||||
|
||||
describe('home', () => {
|
||||
const selectMarketOverlay = 'select-market-list';
|
||||
|
||||
describe('default market found', () => {
|
||||
beforeEach(() => {
|
||||
// Mock markets query that is triggered by home page to find default market
|
||||
it('redirects to a default market with the landing dialog open', () => {
|
||||
cy.mockGQL((req) => {
|
||||
aliasQuery(req, 'MarketList', generateMarkets());
|
||||
|
||||
// Mock all market page queries
|
||||
mockTradingPage(req, MarketState.STATE_ACTIVE);
|
||||
});
|
||||
|
||||
cy.visit('/');
|
||||
cy.contains('Loading...').should('be.visible');
|
||||
cy.contains('Loading...').should('not.exist');
|
||||
|
||||
cy.get('main[data-testid="market"]', { timeout: 20000 }).should('exist'); // Wait for page to be rendered to before checking url
|
||||
});
|
||||
|
||||
it.skip('redirects to a default market with the landing dialog open', () => {
|
||||
// Overlay should be shown
|
||||
cy.getByTestId(selectMarketOverlay).should('exist');
|
||||
cy.contains('Select a market to get started').should('be.visible');
|
||||
@ -53,6 +43,7 @@ describe('home', () => {
|
||||
// the choose market overlay is no longer showing
|
||||
cy.contains('Select a market to get started').should('not.exist');
|
||||
cy.contains('Loading...').should('not.exist');
|
||||
cy.url().should('eq', Cypress.config().baseUrl + '/markets/market-0');
|
||||
});
|
||||
});
|
||||
|
||||
@ -61,9 +52,6 @@ describe('home', () => {
|
||||
// Mock markets query that is triggered by home page to find default market
|
||||
cy.mockGQL((req) => {
|
||||
aliasQuery(req, 'MarketList', { markets: [] });
|
||||
|
||||
// Mock all market page queries
|
||||
mockTradingPage(req, MarketState.STATE_ACTIVE);
|
||||
});
|
||||
|
||||
cy.visit('/');
|
||||
|
@ -1,13 +1,10 @@
|
||||
import { aliasQuery } from '@vegaprotocol/cypress';
|
||||
import { MarketState } from '@vegaprotocol/types';
|
||||
import { generateMarkets } from '../support/mocks/generate-markets';
|
||||
import { mockTradingPage } from '../support/trading';
|
||||
|
||||
describe('markets table', () => {
|
||||
beforeEach(() => {
|
||||
cy.mockGQL((req) => {
|
||||
mockTradingPage(req, MarketState.STATE_ACTIVE);
|
||||
aliasQuery(req, 'MarketList', generateMarkets());
|
||||
});
|
||||
});
|
||||
|
||||
@ -47,6 +44,26 @@ describe('markets table', () => {
|
||||
verifyMarketSummaryDisplayed();
|
||||
});
|
||||
|
||||
it('Able to open and sort full market list - market page', () => {
|
||||
const ExpectedSortedMarkets = [
|
||||
'AAPL.MF21',
|
||||
'BTCUSD.MF21',
|
||||
'ETHBTC.QM21',
|
||||
'SOLUSD',
|
||||
];
|
||||
cy.visit('/');
|
||||
cy.wait('@MarketList');
|
||||
cy.getByTestId('link').should('have.attr', 'href', '/markets').click();
|
||||
cy.url().should('eq', Cypress.config('baseUrl') + '/markets');
|
||||
cy.contains('AAPL.MF21').should('be.visible');
|
||||
cy.contains('Market').click(); // sort by market name
|
||||
for (let i = 0; i < ExpectedSortedMarkets.length; i++) {
|
||||
cy.get(`[row-index=${i}]`)
|
||||
.find('[col-id="tradableInstrument.instrument.code"]')
|
||||
.should('have.text', ExpectedSortedMarkets[i]);
|
||||
}
|
||||
});
|
||||
|
||||
it('Settlement expiry is displayed', () => {
|
||||
cy.visit('/markets/market-0');
|
||||
cy.wait('@Market');
|
||||
|
@ -111,7 +111,7 @@ export const generateMarkets = (
|
||||
market: {
|
||||
id: '34d95e10faa00c21d19d382d6d7e6fc9722a96985369f0caec041b0f44b775ed',
|
||||
state: MarketState.STATE_SUSPENDED,
|
||||
tradingMode: MarketTradingMode.TRADING_MODE_CONTINUOUS,
|
||||
tradingMode: MarketTradingMode.TRADING_MODE_NO_TRADING,
|
||||
__typename: 'Market',
|
||||
},
|
||||
bestBidPrice: '0',
|
||||
@ -143,6 +143,138 @@ export const generateMarkets = (
|
||||
},
|
||||
__typename: 'Market',
|
||||
},
|
||||
{
|
||||
id: 'market-2',
|
||||
name: 'Apple Monthly (30 Jun 2022)',
|
||||
decimalPlaces: 5,
|
||||
positionDecimalPlaces: 0,
|
||||
tradingMode: MarketTradingMode.TRADING_MODE_MONITORING_AUCTION,
|
||||
state: MarketState.STATE_SUSPENDED,
|
||||
marketTimestamps: {
|
||||
__typename: 'MarketTimestamps',
|
||||
close: '2022-08-26T11:36:32.252490405Z',
|
||||
open: null,
|
||||
},
|
||||
candles: [
|
||||
{
|
||||
__typename: 'Candle',
|
||||
open: '100',
|
||||
close: '100',
|
||||
high: '110',
|
||||
low: '90',
|
||||
},
|
||||
],
|
||||
fees: {
|
||||
__typename: 'Fees',
|
||||
factors: {
|
||||
__typename: 'FeeFactors',
|
||||
makerFee: '0.0002',
|
||||
infrastructureFee: '0.0005',
|
||||
liquidityFee: '0.001',
|
||||
},
|
||||
},
|
||||
data: {
|
||||
market: {
|
||||
id: 'a1c731af07570ca49b22a3cd253cc143dc14068edbec918e1087e69db934af5f',
|
||||
state: MarketState.STATE_SUSPENDED,
|
||||
tradingMode: MarketTradingMode.TRADING_MODE_MONITORING_AUCTION,
|
||||
__typename: 'Market',
|
||||
},
|
||||
indicativeVolume: '0',
|
||||
bestBidPrice: '0',
|
||||
bestOfferPrice: '0',
|
||||
markPrice: '4612690058',
|
||||
trigger: AuctionTrigger.AUCTION_TRIGGER_LIQUIDITY,
|
||||
__typename: 'MarketData',
|
||||
},
|
||||
tradableInstrument: {
|
||||
instrument: {
|
||||
id: '',
|
||||
code: 'AAPL.MF21',
|
||||
name: 'Apple Monthly (30 Jun 2022)',
|
||||
metadata: {
|
||||
__typename: 'InstrumentMetadata',
|
||||
tags: [],
|
||||
},
|
||||
product: {
|
||||
settlementAsset: {
|
||||
symbol: 'tUSDC',
|
||||
__typename: 'Asset',
|
||||
},
|
||||
__typename: 'Future',
|
||||
},
|
||||
__typename: 'Instrument',
|
||||
},
|
||||
__typename: 'TradableInstrument',
|
||||
},
|
||||
__typename: 'Market',
|
||||
},
|
||||
{
|
||||
id: 'market-3',
|
||||
name: 'ETHBTC Quarterly (30 Jun 2022)',
|
||||
decimalPlaces: 5,
|
||||
positionDecimalPlaces: 0,
|
||||
tradingMode: MarketTradingMode.TRADING_MODE_CONTINUOUS,
|
||||
state: MarketState.STATE_ACTIVE,
|
||||
marketTimestamps: {
|
||||
__typename: 'MarketTimestamps',
|
||||
close: '2022-08-26T11:36:32.252490405Z',
|
||||
open: null,
|
||||
},
|
||||
candles: [
|
||||
{
|
||||
__typename: 'Candle',
|
||||
open: '100',
|
||||
close: '100',
|
||||
high: '110',
|
||||
low: '90',
|
||||
},
|
||||
],
|
||||
fees: {
|
||||
__typename: 'Fees',
|
||||
factors: {
|
||||
__typename: 'FeeFactors',
|
||||
makerFee: '0.0002',
|
||||
infrastructureFee: '0.0005',
|
||||
liquidityFee: '0.001',
|
||||
},
|
||||
},
|
||||
data: {
|
||||
market: {
|
||||
id: 'bebea8ec669b913a7d6a704a6d8cede164bc1376229e0d472bc6fdaa976629b2',
|
||||
state: MarketState.STATE_ACTIVE,
|
||||
tradingMode: MarketTradingMode.TRADING_MODE_CONTINUOUS,
|
||||
__typename: 'Market',
|
||||
},
|
||||
indicativeVolume: '0',
|
||||
bestBidPrice: '0',
|
||||
bestOfferPrice: '0',
|
||||
markPrice: '4612690058',
|
||||
trigger: AuctionTrigger.AUCTION_TRIGGER_LIQUIDITY,
|
||||
__typename: 'MarketData',
|
||||
},
|
||||
tradableInstrument: {
|
||||
instrument: {
|
||||
id: '',
|
||||
code: 'ETHBTC.QM21',
|
||||
name: 'ETHBTC Quarterly (30 Jun 2022)',
|
||||
metadata: {
|
||||
__typename: 'InstrumentMetadata',
|
||||
tags: [],
|
||||
},
|
||||
product: {
|
||||
settlementAsset: {
|
||||
symbol: 'tBTC',
|
||||
__typename: 'Asset',
|
||||
},
|
||||
__typename: 'Future',
|
||||
},
|
||||
__typename: 'Instrument',
|
||||
},
|
||||
__typename: 'TradableInstrument',
|
||||
},
|
||||
__typename: 'Market',
|
||||
},
|
||||
];
|
||||
const defaultResult = {
|
||||
markets,
|
||||
|
@ -8,6 +8,7 @@ import { generateDealTicketQuery } from './mocks/generate-deal-ticket-query';
|
||||
import { generateMarket } from './mocks/generate-market';
|
||||
import { generateMarketDepth } from './mocks/generate-market-depth';
|
||||
import { generateMarketInfoQuery } from './mocks/generate-market-info-query';
|
||||
import { generateMarkets } from './mocks/generate-markets';
|
||||
import { generateOrders } from './mocks/generate-orders';
|
||||
import { generatePositions } from './mocks/generate-positions';
|
||||
import { generateTrades } from './mocks/generate-trades';
|
||||
@ -26,6 +27,7 @@ export const mockTradingPage = (
|
||||
},
|
||||
})
|
||||
);
|
||||
aliasQuery(req, 'MarketList', generateMarkets());
|
||||
aliasQuery(req, 'MarketDepth', generateMarketDepth());
|
||||
aliasQuery(req, 'Orders', generateOrders());
|
||||
aliasQuery(req, 'Accounts', generateAccounts());
|
||||
|
Loading…
Reference in New Issue
Block a user