Feat/84 Order list (#89)
* scaffold dealticket package, remove trading views from react-helpers
* add deal ticket component, add intent utils, expand dialog and form group styles
* add splash component, show market not found message if market doesnt exist
* tidy up error handling
* add handleError method for vega tx hook
* add better testname for provider test, flesh out tests a bit more for deal ticket
* Add unit tests for useVegaTransaction and useOrderSubmit hooks
* add wrapper component for order dialog styles
* add vega styled loader to ui toolkit and use in order dialog
* add title prop to order dialog
* add button radio component
* revert dialog styles
* move splash component to ui-toolkit, add story
* convert intent to enum
* add date-fns, add datetime to helpers
* add order types to wallet package, make price undefined if order type is market
* tidy up order state by moving submit and transaction hooks out of deal ticket
* add types package, delete old generated types from trading project
* rename types package to graphql
* add order list container and order list component
* add test setup for useOrders
* add test for use-orders hook
* tidy unnecessary diff
* regen types and use them in order-list, also change to use applytransaction hook for orderlist grid
* make order table columns resizable
* make market table not have highlightable cells, use splash for orders errors and loading states, unit test for orderlist container
* add tests for order list table
* show rejection reason and expires at depending on status and tif
* add decimal places to query
* only update row if data has changed, add test coverage
* add setup tests file to avoid importing jest-dom for every test, add async-renderer component to handle fetch ui logic
* install all of lodash but import individually to get tree shaking
* add setup tests file for orderlist package
* add missing fields to use orders spec mock order
* fix act warnings in index page test
* fix casing of app import
* remove react-singleton-hook, simplify side formatting
* fix linting errors
2022-03-23 19:08:10 +00:00
|
|
|
import '@testing-library/jest-dom';
|
2022-12-13 13:31:28 +00:00
|
|
|
import 'jest-canvas-mock';
|
2022-08-31 04:35:46 +00:00
|
|
|
import ResizeObserver from 'resize-observer-polyfill';
|
2023-01-16 17:51:30 +00:00
|
|
|
import { defaultFallbackInView } from 'react-intersection-observer';
|
2023-11-16 03:10:39 +00:00
|
|
|
import { locales } from '@vegaprotocol/i18n';
|
|
|
|
import i18n from 'i18next';
|
|
|
|
import { initReactI18next } from 'react-i18next';
|
|
|
|
|
|
|
|
// Set up i18n instance so that components have the correct default
|
|
|
|
// en translations
|
|
|
|
i18n.use(initReactI18next).init({
|
|
|
|
// we init with resources
|
|
|
|
resources: locales,
|
|
|
|
fallbackLng: 'en',
|
|
|
|
ns: ['trading'],
|
|
|
|
defaultNS: 'trading',
|
|
|
|
});
|
2022-08-31 04:35:46 +00:00
|
|
|
|
2023-01-16 17:51:30 +00:00
|
|
|
defaultFallbackInView(true);
|
2022-08-31 04:35:46 +00:00
|
|
|
global.ResizeObserver = ResizeObserver;
|
|
|
|
|
|
|
|
// Required by radix-ui/react-tooltip
|
|
|
|
global.DOMRect = class DOMRect {
|
|
|
|
bottom = 0;
|
|
|
|
left = 0;
|
|
|
|
right = 0;
|
|
|
|
top = 0;
|
|
|
|
|
|
|
|
constructor(
|
|
|
|
public x = 0,
|
|
|
|
public y = 0,
|
|
|
|
public width = 0,
|
|
|
|
public height = 0
|
|
|
|
) {}
|
|
|
|
static fromRect(other?: DOMRectInit): DOMRect {
|
|
|
|
return new DOMRect(other?.x, other?.y, other?.width, other?.height);
|
|
|
|
}
|
|
|
|
toJSON() {
|
|
|
|
return JSON.stringify(this);
|
|
|
|
}
|
|
|
|
};
|
2022-09-02 14:53:38 +00:00
|
|
|
|
|
|
|
// Based on the official jest docs
|
|
|
|
// https://jestjs.io/docs/manual-mocks#mocking-methods-which-are-not-implemented-in-jsdom
|
|
|
|
Object.defineProperty(window, 'matchMedia', {
|
|
|
|
writable: true,
|
|
|
|
value: jest.fn().mockImplementation((query) => ({
|
|
|
|
matches: false,
|
|
|
|
media: query,
|
|
|
|
onchange: null,
|
|
|
|
addListener: jest.fn(), // Deprecated
|
|
|
|
removeListener: jest.fn(), // Deprecated
|
|
|
|
addEventListener: jest.fn(),
|
|
|
|
removeEventListener: jest.fn(),
|
|
|
|
dispatchEvent: jest.fn(),
|
|
|
|
})),
|
|
|
|
});
|