Pass the x-csrf-token to the call to the admin API (#3194)

* pass the `x-csrf-token` to the call to the admin API

* fix tokens test
This commit is contained in:
tom goriunov
2025-12-22 11:23:39 +01:00
committed by GitHub
parent dc2f986a7b
commit 22de59fe31
2 changed files with 9 additions and 4 deletions
+1 -1
View File
@@ -44,10 +44,10 @@ export default function useApiFetch() {
const headers = pickBy({
'x-endpoint': isNeedProxy() ? api.endpoint : undefined,
Authorization: [ 'admin', 'contractInfo' ].includes(apiName) ? apiToken : undefined,
'x-csrf-token': [ 'general', 'admin' ].includes(apiName) && withBody && csrfToken ? csrfToken : undefined,
...(apiName === 'general' ? {
'api-v2-temp-token': apiTempToken,
'show-scam-tokens': showScamTokens ? 'true' : undefined,
'x-csrf-token': withBody && csrfToken ? csrfToken : undefined,
} : {}),
...resource.headers,
...fetchParams?.headers,
+8 -3
View File
@@ -41,7 +41,7 @@ test.skip('base view +@mobile +@dark-mode', async({ render, mockApiResponse }) =
await expect(component).toHaveScreenshot();
});
test('with search +@mobile +@dark-mode', async({ render, mockApiResponse }) => {
test('with search +@mobile +@dark-mode', async({ page, render, mockApiResponse }) => {
const filteredTokens = {
items: [
tokens.tokenInfoERC20a, tokens.tokenInfoERC20b, tokens.tokenInfoERC20c,
@@ -50,7 +50,7 @@ test('with search +@mobile +@dark-mode', async({ render, mockApiResponse }) => {
};
await mockApiResponse('general:tokens', allTokens);
await mockApiResponse('general:tokens', filteredTokens, { queryParams: { q: 'foo' } });
const filteredTokensApiUrl = await mockApiResponse('general:tokens', filteredTokens, { queryParams: { q: 'foo' } });
const component = await render(
<div>
@@ -59,10 +59,12 @@ test('with search +@mobile +@dark-mode', async({ render, mockApiResponse }) => {
</div>,
);
const requestPromise = page.waitForRequest(filteredTokensApiUrl);
await component.getByRole('textbox', { name: 'Token name or symbol' }).focus();
await component.getByRole('textbox', { name: 'Token name or symbol' }).fill('foo');
await component.getByRole('textbox', { name: 'Token name or symbol' }).blur();
await requestPromise;
await expect(component).toHaveScreenshot({ maxDiffPixels: 20 });
});
@@ -95,7 +97,7 @@ test.describe('bridged tokens', () => {
test('base view', async({ render, page, mockApiResponse, mockEnvs }) => {
await mockEnvs(ENVS_MAP.bridgedTokens);
await mockApiResponse('general:tokens_bridged', bridgedTokens);
await mockApiResponse('general:tokens_bridged', bridgedFilteredTokens, { queryParams: { chain_ids: '99' } });
const bridgedFilteredTokensApiUrl = await mockApiResponse('general:tokens_bridged', bridgedFilteredTokens, { queryParams: { chain_ids: '99' } });
const component = await render(
<div>
@@ -108,9 +110,12 @@ test.describe('bridged tokens', () => {
await expect(component).toHaveScreenshot();
await component.getByRole('button', { name: /filter/i }).click();
const requestPromise = page.waitForRequest(bridgedFilteredTokensApiUrl);
await page.locator('label').filter({ hasText: /poa/i }).click();
await page.click('body');
await requestPromise;
await expect(component).toHaveScreenshot();
});
});