mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-10-22 08:25:21 +08:00
Merge pull request #2701 from langbot-app/test/quality-combined-frontend-fixes-20261017
test(web): resolve clipboard fixture dependencies through Vite
This commit is contained in:
@@ -13,22 +13,7 @@ async function mount(page: Page, mode: string) {
|
||||
window.$RefreshReg$ = () => {};
|
||||
window.$RefreshSig$ = () => (type) => type;
|
||||
window.__vite_plugin_react_preamble_installed__ = true;
|
||||
</script><script type="module">
|
||||
import React from '/node_modules/.vite/deps/react.js';
|
||||
import ReactDOM from '/node_modules/.vite/deps/react-dom_client.js';
|
||||
const {createRoot} = ReactDOM;
|
||||
import i18n from '/node_modules/.vite/deps/i18next.js';
|
||||
import {initReactI18next} from '/node_modules/.vite/deps/react-i18next.js';
|
||||
import {Toaster} from '/src/components/ui/sonner.tsx';
|
||||
import '/src/app/global.css';
|
||||
import {Dialog, DialogContent, DialogTitle} from '/src/components/ui/dialog.tsx';
|
||||
import Section from '/src/app/home/components/models-dialog/component/provider-form/CodexAccountSection.tsx';
|
||||
await i18n.use(initReactI18next).init({lng:'en', resources:{en:{translation:{}}}, interpolation:{escapeValue:false}});
|
||||
const root=createRoot(document.getElementById('root'));
|
||||
window.renderCode=(code='FIXTURE-1234',attempt='attempt-1')=>root.render(React.createElement(Dialog,{open:true},
|
||||
React.createElement(DialogContent,{},React.createElement(DialogTitle,{},'Copy fixture'),React.createElement(Section,{providerId:'fixture',login:{phase:'pending',device:{user_code:code,authorization_id:attempt,verification_uri:'https://example.invalid',expires_at:9999999999}}})),React.createElement(Toaster)));
|
||||
window.renderCode();
|
||||
</script>`,
|
||||
</script><script type="module" src="/tests/e2e/fixtures/codex-copy-harness.mjs"></script>`,
|
||||
}),
|
||||
);
|
||||
await page.addInitScript((mode) => {
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
import React from 'react';
|
||||
import { createRoot } from 'react-dom/client';
|
||||
import i18n from 'i18next';
|
||||
import { initReactI18next } from 'react-i18next';
|
||||
import { Toaster } from '/src/components/ui/sonner.tsx';
|
||||
import '/src/app/global.css';
|
||||
import {
|
||||
Dialog,
|
||||
DialogContent,
|
||||
DialogTitle,
|
||||
} from '/src/components/ui/dialog.tsx';
|
||||
import Section from '/src/app/home/components/models-dialog/component/provider-form/CodexAccountSection.tsx';
|
||||
i18n.use(initReactI18next);
|
||||
await i18n.init({
|
||||
lng: 'en',
|
||||
resources: { en: { translation: {} } },
|
||||
interpolation: { escapeValue: false },
|
||||
});
|
||||
const root = createRoot(document.getElementById('root'));
|
||||
window.renderCode = (code = 'FIXTURE-1234', attempt = 'attempt-1') =>
|
||||
root.render(
|
||||
React.createElement(
|
||||
Dialog,
|
||||
{ open: true },
|
||||
React.createElement(
|
||||
DialogContent,
|
||||
{},
|
||||
React.createElement(DialogTitle, {}, 'Copy fixture'),
|
||||
React.createElement(Section, {
|
||||
providerId: 'fixture',
|
||||
login: {
|
||||
phase: 'pending',
|
||||
device: {
|
||||
user_code: code,
|
||||
authorization_id: attempt,
|
||||
verification_uri: 'https://example.invalid',
|
||||
expires_at: 9999999999,
|
||||
},
|
||||
},
|
||||
}),
|
||||
),
|
||||
React.createElement(Toaster),
|
||||
),
|
||||
);
|
||||
window.renderCode();
|
||||
Reference in New Issue
Block a user