Merge "Add screenshot for gr-change-view with AI chat"
diff --git a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_screenshot_test.ts b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_screenshot_test.ts
index 78b720b..b561da5 100644
--- a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_screenshot_test.ts
+++ b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_screenshot_test.ts
@@ -12,6 +12,7 @@
 import {setViewport} from '@web/test-runner-commands';
 import {GrChangeView} from './gr-change-view';
 import {
+  chatProvider,
   createAccountDetailWithId,
   createChangeViewChange,
   createRevisions,
@@ -42,6 +43,7 @@
 } from '../../../types/common';
 import {HttpMethod} from '../../../api/rest-api';
 import {navigationToken} from '../../core/gr-navigation/gr-navigation';
+import {pluginLoaderToken} from '../../shared/gr-js-api-interface/gr-plugin-loader';
 import {ParsedChangeInfo} from '../../../types/types';
 import {ChangeStatus} from '../../../constants/constants';
 import {NormalizedFileInfo} from '../../../models/change/files-model';
@@ -138,6 +140,12 @@
       .stub(testResolver(changeViewModelToken), 'diffUrl')
       .returns('fakeDiffUrl');
 
+    const pluginLoader = testResolver(pluginLoaderToken);
+    pluginLoader.pluginsModel.aiCodeReviewRegister({
+      pluginName: 'test-plugin',
+      provider: chatProvider,
+    });
+
     stubRestApi('getConfig').returns(
       Promise.resolve({
         ...createServerInfo(),
@@ -300,4 +308,36 @@
       document.body.removeChild(container);
     }
   });
+
+  test('full page 1280px with chat panel', async () => {
+    // Set viewport to ensure media queries respond correctly
+    await setViewport({width: 1280, height: 800});
+    // Force open the chat panel
+    (element as any).showSidebarChat = true;
+
+    const container = document.createElement('div');
+    container.style.width = '1280px';
+    container.style.height = '800px';
+    container.style.overflow = 'hidden';
+    container.style.display = 'block';
+    container.style.backgroundColor = 'var(--view-background-color, #fff)';
+    container.appendChild(element);
+    document.body.appendChild(container);
+
+    try {
+      // Wait for all nested components to render
+      await new Promise(resolve => setTimeout(resolve, 500));
+      await element.updateComplete;
+      if (element.fileList) {
+        await element.fileList.updateComplete;
+      }
+      // Additional wait for any remaining async rendering
+      await new Promise(resolve => setTimeout(resolve, 200));
+
+      await visualDiff(container, 'gr-change-view-1280px-chat-open');
+      await visualDiffDarkTheme(container, 'gr-change-view-1280px-chat-open');
+    } finally {
+      document.body.removeChild(container);
+    }
+  });
 });
diff --git a/polygerrit-ui/screenshots/Chromium/baseline/gr-change-view-1280px-chat-open-dark.png b/polygerrit-ui/screenshots/Chromium/baseline/gr-change-view-1280px-chat-open-dark.png
new file mode 100644
index 0000000..b1ee87c
--- /dev/null
+++ b/polygerrit-ui/screenshots/Chromium/baseline/gr-change-view-1280px-chat-open-dark.png
Binary files differ
diff --git a/polygerrit-ui/screenshots/Chromium/baseline/gr-change-view-1280px-chat-open.png b/polygerrit-ui/screenshots/Chromium/baseline/gr-change-view-1280px-chat-open.png
new file mode 100644
index 0000000..6be0d064
--- /dev/null
+++ b/polygerrit-ui/screenshots/Chromium/baseline/gr-change-view-1280px-chat-open.png
Binary files differ