2022-06-30 07:52:25 +00:00
|
|
|
import { aliasQuery } from '@vegaprotocol/cypress';
|
chore: stagnet3 api updates (#1321)
* chore: update account, fills and orders subscriptions in data providers
* chore: update account, fills and orders subscriptions in data providers
* fixing console-lite
* fixing types in general - regen
* chore: update account, fills and orders subscriptions in data providers
* fixed console-lite unit tests, uncommented quote name
* chore: update account, fills and orders subscriptions in data providers
* type aligning of assets and proposals
* fixes liquidity data provider
* fixed accounts build errors and unit tests
* regen types, removed market name
* regen types
* fixed positions
* chore: handle updates in derived market provider, update orders
* removed taker fee mapping (renamed to maker fee)
* chore: update account, fills and orders subscriptions in data providers
* chore: update account, fills and orders subscriptions in data providers
* chore: fix Order type
* chore: fix possible null types
* chore: revert order-list.stories.tsx
* chore: derivedDataProvider fixes
* fills unit tests fixes
* orders unit tests fixes
* added eslint ingore for generated files in liquidity
* added unique key to the list element of simple market toolbar
* changed main-branch-name to develop for pr workflows
* removed redundant waitFor
* increased test timeout to 10s
* removed mocked response
* chore: disable simple market list tests
* chore: fix e2e projects mock types
* feat: [subscription-update] - uncomment some console-lite tests
* cypress: trading-accounts
* chore: replace market candles with candlesConnection
* chore: ignore gql errors, to be reverted after candlesConnectio n will be fixed
* feat: [subscription-update] - improve wrongly renamed hook
* feat: [subscription-update] - improve wrongly renamed hook
* feat: [subscription-update] - improve wrongly renamed hook 3
* chore: add pagination hangdling to derived data provier
* cypress: trading-fills
* feat: [stagnet3 api update] - remove redundant command in tests
* feat: [stagnet3 api update] - remove redundant command in tests
* chore: fix trading orders e2e tests
* chore: fix console lite e2e mocks
* chore: fix market-trade tests
* chore: use markets only in market selector, change Instrument cache policy
* chore: fix market-selector tests
* feat: [subscription-update] - improve ag grid conf for unit tests
* feat: [subscription-update] - improve ag grid conf for unit tests
* chore: fix candle types in console lite market mocks
* chore: revert error policy ignore
* chore: revert jest timeout
* chore: remove unused AccountFields
* chore: revert remove unused AccountFields
* chore: simplify node subscription probe
* chore: remove unused generated types in candles-chart
* chore: improve useMarketsList mock
* feat: [subscription-update] - increase jest timeout
* feat: [subscription-update] - fix jest timeout
* feat: [subscription-update] - fix jest timeout
* feat: [subscription-update] - try to fix failing test again
* chore: fix candles-chart types
* feat: [subscription-update] - temporary skip failing test
* feat: [subscription-update] - temporary skip failing test
* feat: [subscription-update] - temporary skip failing test
* feat: [subscription-update] - fix failling int test
* feat: [subscription-update] - try to restore commented unit tests
* feat: [subscription-update] - try to restore commented unit tests
* feat: [subscription-update] - improve fixed unit tests
Co-authored-by: asiaznik <artur@vegaprotocol.io>
Co-authored-by: maciek <maciek@vegaprotocol.io>
2022-09-20 15:24:28 +00:00
|
|
|
import { generateFills } from '../support/mocks/generate-fills';
|
2022-08-31 06:03:56 +00:00
|
|
|
import { MarketState } from '@vegaprotocol/types';
|
2022-06-30 07:52:25 +00:00
|
|
|
import { connectVegaWallet } from '../support/vega-wallet';
|
2022-08-31 06:03:56 +00:00
|
|
|
import { mockTradingPage } from '../support/trading';
|
|
|
|
|
2022-09-22 17:40:11 +00:00
|
|
|
describe('fills', { tags: '@regression' }, () => {
|
2022-08-31 06:03:56 +00:00
|
|
|
beforeEach(() => {
|
2022-06-30 07:52:25 +00:00
|
|
|
cy.mockGQL((req) => {
|
chore: stagnet3 api updates (#1321)
* chore: update account, fills and orders subscriptions in data providers
* chore: update account, fills and orders subscriptions in data providers
* fixing console-lite
* fixing types in general - regen
* chore: update account, fills and orders subscriptions in data providers
* fixed console-lite unit tests, uncommented quote name
* chore: update account, fills and orders subscriptions in data providers
* type aligning of assets and proposals
* fixes liquidity data provider
* fixed accounts build errors and unit tests
* regen types, removed market name
* regen types
* fixed positions
* chore: handle updates in derived market provider, update orders
* removed taker fee mapping (renamed to maker fee)
* chore: update account, fills and orders subscriptions in data providers
* chore: update account, fills and orders subscriptions in data providers
* chore: fix Order type
* chore: fix possible null types
* chore: revert order-list.stories.tsx
* chore: derivedDataProvider fixes
* fills unit tests fixes
* orders unit tests fixes
* added eslint ingore for generated files in liquidity
* added unique key to the list element of simple market toolbar
* changed main-branch-name to develop for pr workflows
* removed redundant waitFor
* increased test timeout to 10s
* removed mocked response
* chore: disable simple market list tests
* chore: fix e2e projects mock types
* feat: [subscription-update] - uncomment some console-lite tests
* cypress: trading-accounts
* chore: replace market candles with candlesConnection
* chore: ignore gql errors, to be reverted after candlesConnectio n will be fixed
* feat: [subscription-update] - improve wrongly renamed hook
* feat: [subscription-update] - improve wrongly renamed hook
* feat: [subscription-update] - improve wrongly renamed hook 3
* chore: add pagination hangdling to derived data provier
* cypress: trading-fills
* feat: [stagnet3 api update] - remove redundant command in tests
* feat: [stagnet3 api update] - remove redundant command in tests
* chore: fix trading orders e2e tests
* chore: fix console lite e2e mocks
* chore: fix market-trade tests
* chore: use markets only in market selector, change Instrument cache policy
* chore: fix market-selector tests
* feat: [subscription-update] - improve ag grid conf for unit tests
* feat: [subscription-update] - improve ag grid conf for unit tests
* chore: fix candle types in console lite market mocks
* chore: revert error policy ignore
* chore: revert jest timeout
* chore: remove unused AccountFields
* chore: revert remove unused AccountFields
* chore: simplify node subscription probe
* chore: remove unused generated types in candles-chart
* chore: improve useMarketsList mock
* feat: [subscription-update] - increase jest timeout
* feat: [subscription-update] - fix jest timeout
* feat: [subscription-update] - fix jest timeout
* feat: [subscription-update] - try to fix failing test again
* chore: fix candles-chart types
* feat: [subscription-update] - temporary skip failing test
* feat: [subscription-update] - temporary skip failing test
* feat: [subscription-update] - temporary skip failing test
* feat: [subscription-update] - fix failling int test
* feat: [subscription-update] - try to restore commented unit tests
* feat: [subscription-update] - try to restore commented unit tests
* feat: [subscription-update] - improve fixed unit tests
Co-authored-by: asiaznik <artur@vegaprotocol.io>
Co-authored-by: maciek <maciek@vegaprotocol.io>
2022-09-20 15:24:28 +00:00
|
|
|
mockTradingPage(req, MarketState.STATE_ACTIVE);
|
|
|
|
aliasQuery(req, 'Fills', generateFills());
|
2022-06-30 07:52:25 +00:00
|
|
|
});
|
2022-09-22 09:15:20 +00:00
|
|
|
cy.mockGQLSubscription();
|
2022-06-30 07:52:25 +00:00
|
|
|
});
|
|
|
|
|
2022-08-31 06:03:56 +00:00
|
|
|
it('renders fills on portfolio page', () => {
|
|
|
|
cy.visit('/portfolio');
|
|
|
|
cy.get('main[data-testid="portfolio"]').should('exist');
|
2022-06-30 07:52:25 +00:00
|
|
|
cy.getByTestId('Fills').click();
|
2022-07-14 16:12:28 +00:00
|
|
|
cy.getByTestId('tab-fills').contains('Connect your Vega wallet');
|
2022-08-31 06:03:56 +00:00
|
|
|
connectVegaWallet();
|
|
|
|
validateFillsDisplayed();
|
|
|
|
});
|
2022-06-30 07:52:25 +00:00
|
|
|
|
2022-08-31 06:03:56 +00:00
|
|
|
it('renders fills on trading tab', () => {
|
|
|
|
cy.mockGQL((req) => {
|
|
|
|
mockTradingPage(req, MarketState.STATE_ACTIVE);
|
|
|
|
});
|
|
|
|
cy.visit('/markets/market-0');
|
|
|
|
cy.getByTestId('Fills').click();
|
|
|
|
cy.getByTestId('tab-fills').contains('Please connect Vega wallet');
|
2022-06-30 07:52:25 +00:00
|
|
|
connectVegaWallet();
|
2022-08-31 06:03:56 +00:00
|
|
|
validateFillsDisplayed();
|
|
|
|
});
|
2022-06-30 07:52:25 +00:00
|
|
|
|
2022-08-31 06:03:56 +00:00
|
|
|
function validateFillsDisplayed() {
|
2022-06-30 07:52:25 +00:00
|
|
|
cy.getByTestId('tab-fills').should('be.visible');
|
|
|
|
|
|
|
|
cy.getByTestId('tab-fills')
|
2022-09-07 18:37:39 +00:00
|
|
|
.get(
|
|
|
|
'[role="gridcell"][col-id="market.tradableInstrument.instrument.name"]'
|
|
|
|
)
|
2022-06-30 07:52:25 +00:00
|
|
|
.each(($marketSymbol) => {
|
|
|
|
cy.wrap($marketSymbol).invoke('text').should('not.be.empty');
|
|
|
|
});
|
|
|
|
cy.getByTestId('tab-fills')
|
|
|
|
.get('[role="gridcell"][col-id="size"]')
|
|
|
|
.each(($amount) => {
|
|
|
|
cy.wrap($amount).invoke('text').should('not.be.empty');
|
|
|
|
});
|
|
|
|
cy.getByTestId('tab-positions')
|
|
|
|
.get('[role="gridcell"][col-id="price"]')
|
|
|
|
.each(($prices) => {
|
|
|
|
cy.wrap($prices).invoke('text').should('not.be.empty');
|
|
|
|
});
|
|
|
|
cy.getByTestId('tab-positions')
|
|
|
|
.get('[role="gridcell"][col-id="price_1"]')
|
|
|
|
.each(($total) => {
|
|
|
|
cy.wrap($total).invoke('text').should('not.be.empty');
|
|
|
|
});
|
|
|
|
cy.getByTestId('tab-positions')
|
|
|
|
.get('[role="gridcell"][col-id="aggressor"]')
|
|
|
|
.each(($role) => {
|
|
|
|
cy.wrap($role)
|
|
|
|
.invoke('text')
|
|
|
|
.then((text) => {
|
|
|
|
const roles = ['Maker', 'Taker'];
|
|
|
|
expect(roles.indexOf(text.trim())).to.be.greaterThan(-1);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
cy.getByTestId('tab-positions')
|
|
|
|
.get(
|
|
|
|
'[role="gridcell"][col-id="market.tradableInstrument.instrument.product"]'
|
|
|
|
)
|
|
|
|
.each(($fees) => {
|
|
|
|
cy.wrap($fees).invoke('text').should('not.be.empty');
|
|
|
|
});
|
|
|
|
const dateTimeRegex =
|
|
|
|
/(\d{1,2})\/(\d{1,2})\/(\d{4}), (\d{1,2}):(\d{1,2}):(\d{1,2})/gm;
|
|
|
|
cy.get('[col-id="createdAt"]').each(($tradeDateTime, index) => {
|
|
|
|
if (index != 0) {
|
|
|
|
//ignore header
|
|
|
|
cy.wrap($tradeDateTime).invoke('text').should('match', dateTimeRegex);
|
|
|
|
}
|
|
|
|
});
|
2022-08-31 06:03:56 +00:00
|
|
|
}
|
2022-06-30 07:52:25 +00:00
|
|
|
});
|