mirror of
https://github.com/openclaw/openclaw.git
synced 2026-07-09 15:59:30 +00:00
test(ui): align sidebar ordering coverage (#102660)
This commit is contained in:
parent
5b0e970dc7
commit
bcc4517d99
2 changed files with 10 additions and 19 deletions
|
|
@ -2074,7 +2074,7 @@ describeControlUiE2e("Control UI mocked Gateway E2E", () => {
|
|||
}
|
||||
});
|
||||
|
||||
it("keeps sidebar session order stable while selecting sessions and supports sort modes", async () => {
|
||||
it("keeps every sidebar session stable while selecting sessions and supports sort modes", async () => {
|
||||
const context = await newBrowserContext({
|
||||
locale: "en-US",
|
||||
serviceWorkers: "block",
|
||||
|
|
@ -2085,6 +2085,9 @@ describeControlUiE2e("Control UI mocked Gateway E2E", () => {
|
|||
{ length: 11 },
|
||||
(_, index) => `agent:main:session-${String.fromCharCode(97 + index)}`,
|
||||
);
|
||||
const pinnedSessionKey = "agent:main:session-pinned";
|
||||
const createdOrder = [pinnedSessionKey, ...createdSessionKeys];
|
||||
const updatedOrder = [pinnedSessionKey, ...createdSessionKeys.toReversed()];
|
||||
const sessions = {
|
||||
count: createdSessionKeys.length + 1,
|
||||
defaults: {
|
||||
|
|
@ -2095,7 +2098,7 @@ describeControlUiE2e("Control UI mocked Gateway E2E", () => {
|
|||
path: "",
|
||||
sessions: [
|
||||
{
|
||||
key: "agent:main:session-pinned",
|
||||
key: pinnedSessionKey,
|
||||
kind: "direct",
|
||||
label: "Pinned Session",
|
||||
pinned: true,
|
||||
|
|
@ -2123,9 +2126,7 @@ describeControlUiE2e("Control UI mocked Gateway E2E", () => {
|
|||
.waitFor({
|
||||
timeout: 10_000,
|
||||
});
|
||||
await expect
|
||||
.poll(() => sidebarSessionOrder(page))
|
||||
.toEqual(["agent:main:session-pinned", ...createdSessionKeys.slice(0, 9)]);
|
||||
await expect.poll(() => sidebarSessionOrder(page)).toEqual(createdOrder);
|
||||
|
||||
await page
|
||||
.locator(
|
||||
|
|
@ -2135,9 +2136,7 @@ describeControlUiE2e("Control UI mocked Gateway E2E", () => {
|
|||
await page.locator(".sidebar-recent-session--active").getByText("Session B").waitFor({
|
||||
timeout: 10_000,
|
||||
});
|
||||
await expect
|
||||
.poll(() => sidebarSessionOrder(page))
|
||||
.toEqual(["agent:main:session-pinned", ...createdSessionKeys.slice(0, 9)]);
|
||||
await expect.poll(() => sidebarSessionOrder(page)).toEqual(createdOrder);
|
||||
|
||||
const activeWeight = await page
|
||||
.locator('.sidebar-recent-session[data-session-key="agent:main:session-b"]')
|
||||
|
|
@ -2151,19 +2150,11 @@ describeControlUiE2e("Control UI mocked Gateway E2E", () => {
|
|||
|
||||
await page.getByRole("button", { name: "Sort sessions" }).click();
|
||||
await page.getByRole("menuitemradio", { name: "Last updated" }).click();
|
||||
await expect
|
||||
.poll(() => sidebarSessionOrder(page))
|
||||
.toEqual([
|
||||
"agent:main:session-pinned",
|
||||
"agent:main:session-b",
|
||||
...createdSessionKeys.slice(2).toReversed(),
|
||||
]);
|
||||
await expect.poll(() => sidebarSessionOrder(page)).toEqual(updatedOrder);
|
||||
|
||||
await page.getByRole("button", { name: "Sort sessions" }).click();
|
||||
await page.getByRole("menuitemradio", { name: "Created" }).click();
|
||||
await expect
|
||||
.poll(() => sidebarSessionOrder(page))
|
||||
.toEqual(["agent:main:session-pinned", ...createdSessionKeys.slice(0, 9)]);
|
||||
await expect.poll(() => sidebarSessionOrder(page)).toEqual(createdOrder);
|
||||
|
||||
await page.getByRole("button", { name: "Sort sessions" }).click();
|
||||
await page.getByRole("main").click();
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ describe("resolveSessionNavigation", () => {
|
|||
expect(navigation.activeRowKey).toBe("agent:main:recent-11");
|
||||
});
|
||||
|
||||
it("keeps every pinned session when pins exceed the recent-session cap", () => {
|
||||
it("keeps every pinned session when many sessions are pinned", () => {
|
||||
const pinnedSessions = Array.from({ length: 10 }, (_, index) => ({
|
||||
key: `agent:main:pinned-${index}`,
|
||||
kind: "direct" as const,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue