fix(tests): iteration 15
This commit is contained in:
@@ -194,7 +194,9 @@ export async function readScrollMetrics(page: Page): Promise<ScrollMetrics> {
|
||||
}
|
||||
|
||||
export async function scrollUpFromBottom(page: Page, pixels: number): Promise<void> {
|
||||
await page.getByTestId("agent-chat-scroll").evaluate(
|
||||
const scrollViewport = page.getByTestId("agent-chat-scroll");
|
||||
await expect(scrollViewport).toHaveCount(1, { timeout: 30000 });
|
||||
await scrollViewport.evaluate(
|
||||
(root: Element, amount: number) => {
|
||||
const rootElement = root as HTMLElement;
|
||||
const candidates = [rootElement, ...Array.from(rootElement.querySelectorAll("*"))];
|
||||
@@ -210,9 +212,31 @@ export async function scrollUpFromBottom(page: Page, pixels: number): Promise<vo
|
||||
scrollElement.scrollHeight - scrollElement.clientHeight
|
||||
);
|
||||
scrollElement.scrollTop = Math.max(0, bottomOffset - amount);
|
||||
scrollElement.dispatchEvent(new Event("scroll", { bubbles: true }));
|
||||
},
|
||||
pixels
|
||||
);
|
||||
|
||||
if ((await readScrollMetrics(page)).distanceFromBottom > NEAR_BOTTOM_THRESHOLD_PX) {
|
||||
return;
|
||||
}
|
||||
|
||||
const box = await scrollViewport.boundingBox();
|
||||
if (!box) {
|
||||
return;
|
||||
}
|
||||
await page.mouse.move(box.x + box.width / 2, box.y + Math.min(box.height / 2, 24));
|
||||
|
||||
let remaining = Math.max(0, pixels);
|
||||
while (remaining > 0) {
|
||||
const delta = Math.min(240, remaining);
|
||||
await page.mouse.wheel(0, -delta);
|
||||
remaining -= delta;
|
||||
|
||||
if ((await readScrollMetrics(page)).distanceFromBottom > NEAR_BOTTOM_THRESHOLD_PX) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export async function waitForAgentReady(page: Page, expectedTailText?: string): Promise<void> {
|
||||
|
||||
@@ -27,15 +27,29 @@ export default defineConfig({
|
||||
},
|
||||
},
|
||||
resolve: {
|
||||
alias: {
|
||||
"@": path.resolve(__dirname, "src"),
|
||||
"@server": path.resolve(__dirname, "../server/src"),
|
||||
alias: [
|
||||
{
|
||||
find: /^@getpaseo\/relay\/e2ee$/,
|
||||
replacement: path.resolve(__dirname, "../relay/src/e2ee.ts"),
|
||||
},
|
||||
{
|
||||
find: /^@getpaseo\/relay$/,
|
||||
replacement: path.resolve(__dirname, "../relay/src/index.ts"),
|
||||
},
|
||||
{ find: "@", replacement: path.resolve(__dirname, "src") },
|
||||
{ find: "@server", replacement: path.resolve(__dirname, "../server/src") },
|
||||
// Point to the ESM build so Vite can transform its imports and apply the
|
||||
// react alias below (the CJS build uses require('react') which bypasses
|
||||
// Vite alias resolution).
|
||||
"react-native": path.resolve(rootNodeModules, "react-native-web/dist/index.js"),
|
||||
react: path.resolve(appNodeModules, "react"),
|
||||
"react-dom": path.resolve(appNodeModules, "react-dom"),
|
||||
},
|
||||
{
|
||||
find: "react-native",
|
||||
replacement: path.resolve(rootNodeModules, "react-native-web/dist/index.js"),
|
||||
},
|
||||
{ find: "react", replacement: path.resolve(appNodeModules, "react") },
|
||||
{
|
||||
find: "react-dom",
|
||||
replacement: path.resolve(appNodeModules, "react-dom"),
|
||||
},
|
||||
],
|
||||
},
|
||||
});
|
||||
|
||||
@@ -13,21 +13,24 @@
|
||||
"exports": {
|
||||
".": {
|
||||
"types": "./dist/index.d.ts",
|
||||
"node": "./dist/index.js",
|
||||
"import": "./src/index.ts",
|
||||
"default": "./src/index.ts"
|
||||
"default": [
|
||||
"./dist/index.js",
|
||||
"./src/index.ts"
|
||||
]
|
||||
},
|
||||
"./e2ee": {
|
||||
"types": "./dist/e2ee.d.ts",
|
||||
"node": "./dist/e2ee.js",
|
||||
"import": "./src/e2ee.ts",
|
||||
"default": "./src/e2ee.ts"
|
||||
"default": [
|
||||
"./dist/e2ee.js",
|
||||
"./src/e2ee.ts"
|
||||
]
|
||||
},
|
||||
"./cloudflare": {
|
||||
"types": "./dist/cloudflare-adapter.d.ts",
|
||||
"node": "./dist/cloudflare-adapter.js",
|
||||
"import": "./src/cloudflare-adapter.ts",
|
||||
"default": "./src/cloudflare-adapter.ts"
|
||||
"default": [
|
||||
"./dist/cloudflare-adapter.js",
|
||||
"./src/cloudflare-adapter.ts"
|
||||
]
|
||||
}
|
||||
},
|
||||
"scripts": {
|
||||
|
||||
Reference in New Issue
Block a user