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