* feat(#580): add link to update market proposal * feat(#580): fix cypress test for propose a change to market link * feat(#580): fix market info proposal update cypress test
This commit is contained in:
parent
2eae066ea7
commit
8d292c8f95
@ -182,6 +182,11 @@ describe('market info is displayed', { tags: '@smoke' }, () => {
|
|||||||
.should('have.text', 'View governance proposal')
|
.should('have.text', 'View governance proposal')
|
||||||
.and('have.attr', 'href')
|
.and('have.attr', 'href')
|
||||||
.and('contain', '/governance/market-0');
|
.and('contain', '/governance/market-0');
|
||||||
|
cy.getByTestId(externalLink)
|
||||||
|
.eq(1)
|
||||||
|
.should('have.text', 'Propose a change to this market')
|
||||||
|
.and('have.attr', 'href')
|
||||||
|
.and('contain', '/governance/propose/update-market');
|
||||||
});
|
});
|
||||||
|
|
||||||
afterEach('close toggle', () => {
|
afterEach('close toggle', () => {
|
||||||
|
@ -28,11 +28,9 @@ import { generatePath, Link } from 'react-router-dom';
|
|||||||
import { getMarketExpiryDateFormatted } from '../market-expires';
|
import { getMarketExpiryDateFormatted } from '../market-expires';
|
||||||
import { MarketInfoTable } from './info-key-value-table';
|
import { MarketInfoTable } from './info-key-value-table';
|
||||||
import { marketInfoDataProvider } from './market-info-data-provider';
|
import { marketInfoDataProvider } from './market-info-data-provider';
|
||||||
|
import { TokenLinks } from '@vegaprotocol/react-helpers';
|
||||||
|
|
||||||
import type { MarketInfoQuery } from './__generated___/MarketInfo';
|
import type { MarketInfoQuery } from './__generated___/MarketInfo';
|
||||||
const Links = {
|
|
||||||
PROPOSAL_PAGE: ':tokenUrl/governance/:proposalId',
|
|
||||||
};
|
|
||||||
|
|
||||||
export interface InfoProps {
|
export interface InfoProps {
|
||||||
market: MarketInfoQuery['market'];
|
market: MarketInfoQuery['market'];
|
||||||
@ -359,19 +357,35 @@ export const Info = ({ market, onSelect }: InfoProps) => {
|
|||||||
{
|
{
|
||||||
title: t('Proposal'),
|
title: t('Proposal'),
|
||||||
content: (
|
content: (
|
||||||
<ExternalLink
|
<div className="">
|
||||||
href={generatePath(Links.PROPOSAL_PAGE, {
|
<ExternalLink
|
||||||
tokenUrl: VEGA_TOKEN_URL,
|
className="mb-2"
|
||||||
proposalId: market.proposal?.id || '',
|
href={generatePath(TokenLinks.PROPOSAL_PAGE, {
|
||||||
})}
|
tokenUrl: VEGA_TOKEN_URL,
|
||||||
title={
|
proposalId: market.proposal?.id || '',
|
||||||
market.proposal?.rationale.title ||
|
})}
|
||||||
market.proposal?.rationale.description ||
|
title={
|
||||||
''
|
market.proposal?.rationale.title ||
|
||||||
}
|
market.proposal?.rationale.description ||
|
||||||
>
|
''
|
||||||
{t('View governance proposal')}
|
}
|
||||||
</ExternalLink>
|
>
|
||||||
|
{t('View governance proposal')}
|
||||||
|
</ExternalLink>
|
||||||
|
<ExternalLink
|
||||||
|
className="mt-2"
|
||||||
|
href={generatePath(TokenLinks.UPDATE_PROPOSAL_PAGE, {
|
||||||
|
tokenUrl: VEGA_TOKEN_URL,
|
||||||
|
})}
|
||||||
|
title={
|
||||||
|
market.proposal?.rationale.title ||
|
||||||
|
market.proposal?.rationale.description ||
|
||||||
|
''
|
||||||
|
}
|
||||||
|
>
|
||||||
|
{t('Propose a change to this market')}
|
||||||
|
</ExternalLink>
|
||||||
|
</div>
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
@ -23,3 +23,8 @@ export const ExternalLinks = {
|
|||||||
VEGA_WALLET_URL: 'https://vega.xyz/wallet',
|
VEGA_WALLET_URL: 'https://vega.xyz/wallet',
|
||||||
VEGA_WALLET_HOSTED_URL: 'https://vega-hosted-wallet.on.fleek.co/',
|
VEGA_WALLET_HOSTED_URL: 'https://vega-hosted-wallet.on.fleek.co/',
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const TokenLinks = {
|
||||||
|
PROPOSAL_PAGE: ':tokenUrl/governance/:proposalId',
|
||||||
|
UPDATE_PROPOSAL_PAGE: ':tokenUrl/governance/propose/update-market',
|
||||||
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user