chore(trading): oracle banner test (#5020)

This commit is contained in:
Ben 2023-10-11 15:54:26 +01:00 committed by GitHub
parent 0d14722c5d
commit 6651ee52b4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 68 additions and 28 deletions

View File

@ -1,28 +0,0 @@
import { MarketState } from '@vegaprotocol/types';
const oracleBannerDialogTrigger = 'oracle-banner-dialog-trigger';
const oracleBannerStatus = 'oracle-banner-status';
const oracleFullProfile = 'oracle-full-profile';
describe('oracle information', { tags: '@smoke' }, () => {
before(() => {
cy.setOnBoardingViewed();
cy.mockTradingPage(
MarketState.STATE_ACTIVE,
undefined,
undefined,
'COMPROMISED'
);
cy.mockSubscription();
cy.visit('/#/markets/market-0');
cy.wait('@Markets');
});
it('show oracle banner', () => {
cy.getByTestId(oracleBannerStatus).should('contain.text', 'COMPROMISED');
cy.getByTestId(oracleBannerDialogTrigger)
.should('contain.text', 'Show more')
.click();
cy.getByTestId(oracleFullProfile).should('exist');
});
});

View File

@ -0,0 +1,68 @@
import { fireEvent, render, screen, waitFor } from '@testing-library/react';
import '@testing-library/jest-dom/extend-expect';
import { MockedProvider } from '@apollo/client/testing';
import { OracleBanner } from './oracle-banner';
const mockOracleData = {
data: {
dataSourceSpecId: 'someId',
provider: {
name: 'Test oracle',
url: 'https://zombo.com',
description_markdown:
'Some markdown describing the oracle provider.\n\nTwitter: @FacesPics2\n',
oracle: {
status: 'COMPROMISED',
status_reason: 'Reason here',
first_verified: '2021-01-01T00:00:00Z',
last_verified: '2022-01-01T00:00:00Z',
type: 'public_key',
public_key: '0xfCEAdAFab14d46e20144F48824d0C09B1a03F2BC',
},
proofs: [
{
format: 'url',
available: true,
type: 'web',
url: 'https://proofweb.com',
},
{
format: 'signed_message',
available: true,
type: 'public_key',
public_key: '0xfCEAdAFab14d46e20144F48824d0C09B1a03F2BC',
message: 'SOMEHEX',
},
],
github_link:
'https://github.com/vegaprotocol/well-known/blob/main/oracle-providers/eth_address-0xfCEAdAFab14d46e20144F48824d0C09B1a03F2BC.toml',
},
},
};
jest.mock('../../hooks', () => ({
...jest.requireActual('../../hooks'),
useMarketOracle: jest.fn((...args) => {
return mockOracleData;
}),
}));
describe('OracleBanner', () => {
it('should render successfully', async () => {
render(
<MockedProvider mocks={[]} addTypename={false}>
<OracleBanner marketId="someMarketId" />
</MockedProvider>
);
await waitFor(() => {
expect(screen.getByTestId('oracle-banner-status')).toHaveTextContent(
'COMPROMISED'
);
expect(
screen.getByTestId('oracle-banner-dialog-trigger')
).toHaveTextContent('Show more');
fireEvent.click(screen.getByTestId('oracle-banner-dialog-trigger'));
expect(screen.getByTestId('oracle-full-profile')).toBeInTheDocument();
});
});
});